6

私は、既存のバックエンド/サーバーアプリケーション内で使用するためのWindows用イベントトレース(ETW)を調査しています。MSDNやその他のソースは、フレームワークのパワーとxperfなどとの統合を販売しており、率直に言って私は感銘を受けました。

ただし、Win32 APIと、マニフェストコーディングのコンパイル/登録などを操作するオーバーヘッドについて少し心配しています。

皆さん、あなたは:

  • それをお勧めしますか?システムでの使用に問題がありますか?
  • より多くのC++/ STLスタイルのラッパーを知っていますか?
  • マニフェストファイルを管理するためのツールはありますか?
4

2 に答える 2

6

Win32 APIを直接使用するのではなく、WPPを使用することをお勧めします。

WPPはプリプロセッサであり、コード内の任意の場所にprintfのようなトレース行を記述し、それらの結果を追加データ(たとえば、トレース内のさまざまな%dおよび%sに渡される引数)とともに取得できます。 ETWにログインしました。

このための明確なガイドは、Visual C++2010プロジェクトでのWPPトレースです。

于 2011-06-19T13:06:40.580 に答える
2

一方では、ETWは非常に強力です。しかし同時に、それから始めるのはそれほど簡単ではありません。

ただし、GitHubには、独自のETWプロバイダーの作成を簡素化するプロジェクトがあります。そして、それは書くことの良い例です:

  • イベントフィールドを開示するETWマニフェスト(.man)
  • WPRUI(レコーダー)にプロファイラーについて教えるためのWP Rプロファイル(.wprp)
  • WPデータの表現についてWPAに教えるためプロファイル(.wpaProfile)と関心領域(.xml)。

IntelシングルイベントAPI(SEAPI)wikiをご覧ください。

于 2015-11-28T19:01:27.683 に答える