5

(WebForms) Web アプリのランタイム プロファイリング ツールを検討しています。

MiniProfiler と Glimpse を検討しました。

MiniProfiler では、プロファイリング メッセージをログに記録するのは簡単です (実際、唯一の方法ですか?)。

var profiler = MiniProfiler.Current;
using (profiler.Step("Doing complex stuff"))
{
    using (profiler.Step("Step A"))
    { // something more interesting here
        Thread.Sleep(100);
    }
    using (profiler.Step("Step B"))
    { // and here
        Thread.Sleep(250);
    }
}

Glimpse では、リクエスト ライフサイクルの自動プロファイリングを利用できますが、カスタム ビジネス ロジック シナリオをプロファイリングする最も簡単な方法が何であるかはわかりません。

Glimpse が「Trace」タブでサポートしていることをここで読みましSystem.Diagnostics.(Trace|Debug).Trace*()たが、それは特定の時点のみを示しており、ネストされたスコープをプロファイルしていないようです。カスタム データをより構造化された方法でトレースできると便利です。たとえば、[タイムライン] タブなどです。

問題は、Glimpse で MiniProfiler のような構造化されたカスタム ロギングを (できれば簡単に) 取得できるかどうかです。

PS。MiniProfiler データを表示する Glimpse 拡張機能があることは知っていますが、放棄されているようです。

PPS。Glimpse が私の WebForms プロジェクト (IIS クラシック パイプライン モード) で (ほぼ) 箱から出してすぐに動作するのを見て、うれしい驚きを覚えました。私の知る限り、MiniProfilerはその構成ではうまく機能しません。MVCに偏っています。

4

1 に答える 1

3

残念ながら、バージョン 1.8.6 (コア パッケージ) の Glimpse はこれをサポートしていません。

技術的には、これを行う拡張機能を簡単に作成できますが、それは非常に一般的な要求であるため、次のリリースに追加しています。実際にはhttp://getglimpse.com/Docs/Timeline-Tabですでに文書化されています。

また、コードを取得するかGlimpseTimeline、GitHub リポジトリから取得して、ニーズに合わせて現在のバージョンで動作させることもできます。

于 2014-12-19T20:48:22.947 に答える