2016-06-22 2 views
1

私は特定のイベントを監視し、それが発生した後に物事を計算するアプリケーションを持っています。イベントは、C#パフォーマンスカウンタタイマ100ns。の仕方?

私は時間の%%アプリケーションが(CPUの%使用率と同様に)ビジーで測定したい

...不規則であり、長い間誰にも負けない秒で房から任意のパターンで来ることができます私はTimer100Nsカウンタ

二つの質問を使用したい:

  1. を私はハードウェアでそれをインクリメントくださいダニや日時によって私はストップウォッチを使用している場合(例えばダニ - 私はsw.ElapsedTicksまたはsw.Elapsed.Tiを使うのですかcks)?

  2. ベースカウンタが必要ですか?

ので、私はこのような何かを書くことについての思い:

Stopwatch sw = new Stopwatch(); 
sw.Start(); 
// Do some operation which is irregular by nature 
sw.Stop(); 

// Measure utilization of the application 
myCounterOfTypeTimer100Ns.IncrementBy(sw.Elapsed.Ticks); 

それは何でしょうか?

編集:私はそれを少し実験しましたが、今はさらに混乱しています。実際には、それを増やす値を示しています。 %%ではありません。

+0

このクラスでは何も興味がありません。タイマー100NsタイプのPerformanceCounterであるフィールドの単なる所有者です。 MSDNは、次のように言っています。「コンポーネントのアクティブ時間をサンプル間隔の合計経過時間のパーセンテージとして示すパーセンテージカウンター。他の方法があるかもしれない。しかし、私はこの使い方を見つけたいと思っています。 –

+0

待ってください - マルチカウンターとは何が関係していますか?あなたが一度にいくつかのメトリックを追跡するときに必要なマルチカウンタ..完全にランダムな情報.. –

答えて

0

謎が解明されました。現在、私はそれが使用されるべきであった方法で(または私はTFMを正しく読まなかった)それを使用しないように見えます。サンプリング間隔が1秒(perf monライブウィンドウのように)で、間隔が1秒を超える場合は、ナンセンス番号が表示されます...滑らかさを達成するには、測定しようとしているアクティビティが実際に1分の1でなければなりません。そうでなければ、このカウンタは良い考えではありません。

この種の問題の回答は(それほど明白ではありませんが、それでも誰も1週間で提案していないものの)実際にはSampleCounterです。

関連する問題