2

カテゴリ「.NET CLR Exceptions」の perfmon カウンターを読み取ろうとしています。以下は同じコードです。私が見ているのは、作成した Windows Perfmon カウンターとコンソール アプリケーションに異なるデータが表示されているように見えることです。

PerformanceCounterCategory netClrExceptionCat = new PerformanceCounterCategory(".NET CLR Exceptions");
foreach (PerformanceCounter counter in netClrExceptionCat.GetCounters("_Global_"))
{
    Console.WriteLine(string.Format("  Counter: {0} : Value : {1}", counter.CounterName, counter.RawValue));
}

ここに画像の説明を入力

ここで何か間違ったことをしている場合に備えて、誰かが私を正しい方向に向けていただければ幸いです。

4

1 に答える 1

1

不一致は、派生した「1 秒あたり」の値にあることに注意してください。これらの種類のカウンターは、やや直感に反します。OS は、ユーザーが取得できる標準の瞬時値を保持していません。経過時間の追跡と除算の実行は、カウンターを消費するアプリケーションで行われます。たとえば、コール間の遅延が 5 秒のカウンターをクエリする場合、アプリケーションはカウンターの生の値の差を 5 で割ります。これで、アプリケーションはまったく同じ遅延を使用せず、サンプルをキャプチャする可能性さえなくなります。同時に。したがって、あなたの価値観は、わずかにまたは大幅に異なる場合があります。

于 2011-12-24T15:53:50.573 に答える