2011-11-30 1 views
5

NLogを使用して、それをそれを記録し、もし誰かがこれを実装する方法について何か提案があったのだろうか?C#でメソッドを実行するのにかかった時間を記録するための効率的な方法私は私の.NET(MVC)プロジェクトでメソッドを実行してするのに要する時間を記録するための簡単な、再利用可能な方法を探してい

クリーンなコードと可読性を維持するために、可能であれば、コードにコードを組み込む必要はありません。

誰かが何か提案があれば、私はそれらを聞いてみたいです。

+0

必ずしもログに記録されているとは限りませんが、EQATECプロファイラはプロファイリングの方が優れています。私は他の同様のツールが存在すると確信しています。これは、タイミング情報のメソッド入力/終了のアセンブリを書き換えることによって機能します。少なくとも侵入しないでください... –

答えて

3

あなたはこれを見ていたいかもしれません:

をPostSharpを使用して、まさにこのシナリオ

http://code.google.com/p/mvc-mini-profiler/

スタック交換時に良い人物によって書かれています。

+1

:時間にメソッドを使用すると、コードのほんの少しを追加する定義されます。 * AOPを介して行うこともできますが、パフォーマンスは機能です。機能をサポートするコードを書くことはOKです –

10

使用Stopwatchクラス

Stopwatch time = Stopwatch.StartNew(); 
time.Stop(); 
var milliseconds= time.ElapsedMilliseconds; 
+2

ありがとうございます。これは私が現在行っていることです。私は方法で任意のコードを記述せずにこれを実装する方法を探しています。私たちは何が起こっているのpsudoリアルタイムビューを持っていると言うなら、私たちは、通知を得るように、あまりにもそれらのメトリックの周りにアラームを設定することができるように – Nick

5

あなたは、既存のコードを変更することを回避したい言及しているので、これはここで説明するブログ記事はAOP(アスペクト指向プログラミング)は便利

で来る場合ですさ http://theburningmonk.com/2010/03/aop-method-execution-time-watcher-with-postsharp/

+0

は、我々の場合には、我々はまた、アマゾンCloudWatchのこれらのタイムスパンのメトリックを公開し、待ち時間の問題がoccuringしていると素早く反応(http://theburningmonk.com/2012/03/recording-for-my-webinar-with-postsharp/)警告として – theburningmonk

関連する問題