パフォーマンス・カウンター(回答)

答え

  • C. CounterType = PerformanceCounterType.SampleBase;

01 void CreateCounters() {
02     if (!PerformanceCounterCategory.Exists("Contoso")) {
03         var counters = new CounterCreationDataCollection();
04         var ccdCounter1 = new CounterCreationData{
05             CounterName = "Counter1",
06             CounterType = PerformanceCounterType.SampleFraction;
07         };
08         counters.Add(ccdCounter1);
09         var ccdCounter2 = new CounterCreationData{
10             CounterName = "Counter2";
11             CounterType = PerformanceCounterType.SampleBase;
12         };
13         counters.Add(ccdCounter2);
14         PerformanceCounterCategory.Create("Contoso", "Help string", PerformanceCounterCategoryType.MultiInstance, counters);
15     }
16 }

解説

Counter1Counter2 の選択肢で上がっている CounterType をまとめると、以下の通りです。

選択肢

CounterType

内容

-

SampleFraction

セットに対するサブセットの比率をパーセントで示す即時パーセントカウンターです。

A

RawBase

通常の算術的な分数を表すカウンターの分母を格納するベースカウンターです。

B

AverageBase

AverageTime32AverageCount64 など、時間または回数の平均を計算するために使用されるベースカウンターです。

C

SampleBase

取得したサンプリング割り込みの回数を格納するベースカウンターです。

D

CounterMultiBase

サンプリングする項目の数を示すベースカウンターです。

次に、ベースカウンターとパフォーマンスカウンターの対応表を確認します。

ベースカウンター

パフォーマンスカウンター

AverageBase

AverageTimer32

AverageCount64

CounterMultiBase

CounterMultiTimer

CounterMultiTimerInverse

CounterMultiTimer100Ns

CounterMultiTimer100NsInverse

RawBase

RawFraction

SampleBase

SampleFraction

この対応表によると、Counter1で設定しているパフォーマンスカウンター SampleFraction に対応するベースカウンターは SampleBase ですので、 C. SampleBase が正解です。

参考

Last updated