4

複数のスレッドでフレームワークの実装を実行する Windows サービスがあります。実行中の各インスタンスには、追跡する必要があるいくつかの共通点があります。たとえば、処理されたアイテムの数、アイテムが最後に処理された時刻などです。この基本的な監視データに加えて、実装が独自の監視データを動的に追加できるようにするフレームワーク。

私は以前に PerformanceCounters を使用したことがあります。それらは適切な機能を提供しますが、それらを作成および維持するためのコードは非常に面倒であり、インスタンス関連の落とし穴 (つまり、カウンターのハードコーディング) の可能性がロードされます。インスタンス名、カテゴリ名、カウンター タイプ)。また、膨大な量のコードを書かなくても、単純な基本機能の動的カウンター作成を提供できるかどうかはわかりません。

PerformanceCounters を使用してこのようなものを実装した人はいますか? もしそうなら、あなたはそれをお勧めしますか?そうでない場合、パフォーマンス/ヘルス監視データを簡単に書き込むことができ、1) 多くの速度低下と 2) 別の障害点を導入しないメディアについて誰か提案がありますか?

ありがとうございます。必要に応じて説明を追加させていただきます。これはやや漠然としています。

結論:

最終的にパフォーマンスカウンターを実装しました。ちょっとピタだったけど(へー)、上司は本当にそのアイデアに夢中だったし、今ではそれを理解したので、それほど悪くはありません. 階層データを表示するためのより簡単な方法で、もう少し簡単に構成できるものを望んでいました。しかし、これは問題なく機能し、組み込みのインターフェイスについて議論するのは困難です。

4

2 に答える 2

1

Agreed, it can take a bit of time to put together code that leverages performance counters. However, last time I did this I wrapped it all up in a nice reusable class. It made it much simpler for me to use perf counters throughout my code base with minimal friction.

The end result was well worth it to me, given the tooling that exists on top of perf counters (perfmon is a big boon).

于 2009-01-13T18:53:24.290 に答える
0

Enterprise Library のインストルメンテーション クラスの使用を検討しましたか? EntLib の賛否両論は言えませんが、人気が高まっているようで、Microsoft はそれに投資し続けているようです...

http://msdn.microsoft.com/en-us/library/dd203352.aspx

于 2009-01-21T22:08:58.670 に答える