2012-01-10 7 views
2

私のプロジェクトでRawFractionパフォーマンスカウンタを使用する際に問題が発生しています。私が望むのは、totalActionType1/totalActionsの単純な部分を表示することだけです。CのRawFractionパフォーマンスカウンタ#

したがってtotalActionsはRawbaseカウンタであり、totalActionType1はRawfractionカウンタです。 特定の場所で両方のカウンターを1ずつ増やしますが、どのように比を見ることができますか?私は何か/すべてが間違っていることを知っています。 msdnの投稿は役に立ちません。

私はCounterSampleを使って浮動小数点値を計算することができますが、浮動小数点値をカウンタ生の値としてどのように表示することができますか。

//Here is how I am incrementing the counters: 

case CounterType.totalActions: 
totalActions.Increment(); 
break; 


case CounterType.totalActionType1: 
totalActionType1.Increment(); 
break; 

//Counter Creation: 
totalActionType1 = new PerformanceCounter("Fract","RawFractionType", false); 
totalActions = new PerformanceCounter("Fract","RawFractionBaseType", false); 
var value = totalActionType1.NextValue(); 

//Counter Setup: 
var countActionType1 = new CounterCreationData("RawFractionType", "", CounterType.RawFraction); 
var countTotalActions= = new CounterCreationData("RawFractionBaseType", "", CounterType.RawBase); 
categoryCollection.Add(countActionType1); 
categoryCollection.Add(countTotalActions); 
PerformanceCounterCategory.Create("Fract", "", PerformanceCounterCategoryType.SingleInstance, categoryCollection); 

おかげで、

+1

カウンターの設定/読み取りに使用しているコードを確認できますか? –

+0

最新のコードで投稿を更新しました。 –

+1

'_counters'は何と定義されていますか? –

答えて

1

だから、私はあなたのインストーラクラスに次のようにのようなあなたのカウンターを作成したと仮定します。ベースカウンタが計算されたカウンタの直後にあることが重要です。

  installer.Counters.Add(
       new CounterCreationData(counterName, counterDescription, 
             PerformanceCounterType.RawFraction)); 
      installer.Counters.Add(
       new CounterCreationData(counterName + "-Base", 
             counterDescription, 
             PerformanceCounterType.RawBase)); 

もしそうなら、あなたはその後、RawFractionためPerformanceCounterインスタンスを作成し、その上にNextValue()を呼び出すことによって、それを照会することができます。いくつかのカウンタータイプの

// for read-only access to it 
var pc = new PerformanceCounter(categoryName, counterName, true); 

var value = pc.NextValue(); 

、あなたは最初の素数の計算に、二回NextValue()を呼び出す必要があります。また、RawFractionがパーセンテージで表示されるので、値が0.40の場合は40.0と表示されます。

+0

カウンタを作成した後にNextValueを呼び出すと、ヘルプが表示されませんでした。だから、比率を見る方法はありませんか? –

+1

@TechXie:あなたはどんな価値(または例外)を得ていますか? –

+0

例外はありません。 rawfractionを2回インクリメントして基数を6回増やした場合、rawFractionの値はパーセント値ではなく2と表示されますか? –

関連する問題