Perfmonパフォーマンスは、Xperfが使用したETWイベントと同じ「フードの下」に基づいていますか?
-
29-09-2019 - |
質問
私は最近、PerfmonとXperfと知り合いになりました。 Perfmonはパフォーマンスカウンターを使用し、XperfはETW(Windowsのイベントトレース)を使用します。 Perfmonにはデータを提供するオブジェクトがありますが、Xperfは「プロバイダー」のグループを使用します。このエリアへの初心者として、Perfmonが使用するパフォーマンスカウンターがXperfが使用したETWイベントと同じものに基づいているかどうかを誰かが私に教えてくれるかどうかを尋ねています。それらが同じことに基づいていない場合、それらがどのように違うかを説明していただけますか?
解決
パフォーマンスカウンター と etw 2つの異なることであり、根底にあるインフラストラクチャを共有していません。
カウンターは、オペレーティングシステムまたはアプリケーション、サービス、またはドライバーがどれだけうまく機能しているかについての情報を提供するために使用されます。カウンターデータは、システムのボトルネックと微調整システムとアプリケーションのパフォーマンスを決定するのに役立ちます。オペレーティングシステム、ネットワーク、およびデバイスは、アプリケーションが消費できるカウンターデータを提供し、ユーザーがシステムのパフォーマンスのグラフィカルビューを提供します。
Windows(ETW)のイベントトレースは、カーネルまたはアプリケーション定義のイベントをログファイルにログに記録できる効率的なカーネルレベルのトレース機能です。
どちらもパフォーマンス分析に使用できますが、ETWは時間の経過とともにアプリ内の動作の監査証跡を提供します(従来のユーザーモードログファイルなど)。 )、またはその生涯にわたる集計データ(「平均スループット」、「送信されたバイトの総数」など)。
他のヒント
に基づいているようです このドキュメント Vista+ Performance CountersはETWファサードを持っているため、ETWとまったく同じ方法で消費できます。
WindowsVista®に含まれる新しいパフォーマンスカウンターライブラリ(Perflibバージョン2.0)は、次のような開発者に多くの利点を提供します。
Windows(ETW)通知のイベントトレースに基づいているプロバイダーと消費者の間の標準的なインタープロセス通信(IPC)メカニズムは、開発された開発とより均一で信頼性の高いコードをもたらします。