問題タブ [etw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msmq - MSMQ トレースの実行方法
MSMQ アクティビティ (API 呼び出しなど) を追跡する方法を探しています。
ETW トレースについて言及している参考文献をいくつか見ましたが、それらはあまり明確でも完全でもありませんでした。
このテーマに関する簡単なチュートリアルはありますか?
c# - XPerfでイベントデータを表示しますか?
XPerfを使用して、パフォーマンス分析用のアプリケーションをインストルメント化する実験を行っています。私の目標は、C#アプリケーション内の開始/停止イベントをログに記録し、これらのイベント間の特定のカーネルメトリックを分析することです。
TraceListener
アプリケーション内でとを作成し、TraceSource
イベントをソースに記録しています。次に、logmanを使用して2つのセッションを開始します。1つはプロバイダーからのイベントをキャプチャし、もう1つはカーネルイベントをキャプチャします(xperf -on DiagEasy
)。セッションの最後に、XPerfを使用してこれらのファイルをマージし、グラフを表示/オーバーレイします。これはすべてうまく機能します。
アプリケーションのイベントは「汎用イベント」チャートに表示されますが、イベントには識別情報(名前もイベントデータもありません)がないため、どのイベントがどれであるかを判断するのは困難です。tracerpt
トレース出力で実行すると「dumpfile.xml」に表示されるため、イベントデータがキャプチャされていることがわかります。XPerf内の「汎用イベント」にイベント名またはイベントデータを添付する方法はありますか?XPerfを使用する私のアプローチは間違っていますか?
ETWの使用方法を示すサンプルコードを次に示します。
windows - WPP を使用した複数の ETW プロバイダーへのトレース
WPP インスツメンテーションを通じて「Event Tracing for Windows」を使用しようとしています。Getting Started with Software Tracing in Windows Drivers のドキュメントによると、単一のドライバーから複数のプロバイダーにトレースを発行することは可能ですが、そうする例は見当たりませんでした:
ドライバーは、複数のコントロール GUID を指定できます。各コントロール GUID は、一意のプロバイダーを識別します。たとえば、ドライバーが 2 つのコントロール GUID を定義し、1 つは共有ライブラリ用で、もう 1 つはドライバー用である場合、ライブラリとドライバーを 2 つの異なるプロバイダーとして有効にすることができます。トレースは、ライブラリまたはドライバーのいずれか、またはその両方に対して有効にすることができます。
WPP_CONTROL_GUIDS
それぞれ異なる GUIDを使用して、2 つのヘッダー ファイルを作成しようとしました。次に、さまざまなプロバイダーにトレースを発行する予定の c/cpp ファイルからさまざまなヘッダー ファイルを含めます。しかし、メインファイルの定義がこの分離をオーバーライドし、すべてのトレースがそれによって使用されるプロバイダーに到達するようです...
なにか提案を?サンプルはありますか?ありがとう!!
iis - WF トレース ログの表示
Windows ワークフロー (IIS でホストされている) が SqlWorkflowInstanceStore を使用して永続化されている場合、「サイレント」アボートが発生します。
http://support.microsoft.com/kb/2022538によると:
サービスが自己ホスト型または Web ホスト型の場合、この問題により診断トレースが作成されます。さらに、Event Tracing for Windows (ETW) トレース ログに例外エラーと警告が生成されます。
その記事で最初の問題 (Boolean プロパティをプロモートしようとする) は解決されましたが、現在、同じ症状の新しい問題が発生しています。診断するには、これらのトレース ログを表示する必要があります。
いずれの場合も、イベント ビューアにこれらのログが表示されません。適切な場所を探していないか、最初に何かを有効にする必要がある可能性が非常に高いです。
- これらのログを表示するにはどうすればよいですか?
- (おまけの質問) ワークフローで診断トレースをサブスクライブするにはどうすればよいですか?
- (ボーナス質問 2) Visual Studio 2010 で既定の Web サーバー (以前の Cassini) を使用してワークフローをデバッグしている場合、これらのログを表示するにはどうすればよいですか?
c++ - NTカーネルロガーセッションログが作成されていない
MicrosoftのWebサイト(オリジナル)の1つから取得した次のコードをコンパイルしようとしています。
プログラムは正常に実行されているようですが、ログファイルは作成されません。誰もが問題が何であるか知っていますか?私はWindowsXPを使用しています。
c++ - ETW を使用してコンテキスト スイッチのタイム スタンプを出力する
Microsoft の Web サイトで見つけた次のコードを使用しています。想定どおり、正常にコンパイルされ、ログ ファイルが出力されます。
このコードを変更して、コンテキストの切り替えを検出したときにタイムスタンプを出力する方法があるかどうか疑問に思っています。誰にもアイデアはありますか?
windows - ETW プロバイダーのチャネル名
Event Tracing for Windows (ETW) プロバイダー マニフェストを取得して、適切なチャネル名を登録しようとしています。マニフェスト (以下に含まれています) を使用すると、次の結果が得られます。ただし、マニフェストと、レジストリ (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT に格納されている) 内の All-User-Install-Agent マニフェストの結果との違いを調べると、キーは Foo-Bat-TestApp/ プレフィックスで表示されています。プレフィックスを削除するにはどうすればよいですか? 「運用」名を使用する OS コンポーネントが既に存在するため、名前属性からそれらを削除できません (これはレジストリ内のフラット リストです)。
サンプル マニフェストは次のようになります。
c# - C#-ETWイベントチャネルにサブスクライブしますか?
このページの例のようなコードを使用して、C#のEventLogReaderを使用して、特定の運用チャネル内に記録されたすべてのETWイベントを取得できます。
http://msdn.microsoft.com/en-us/library/bb671197(v=vs.90).aspx
必要なのは、ログ名文字列を変更して、代わりに関心のある操作チャネル( "Microsoft-Windows-RemoteAssistance / Operational"など)を指すようにすることです。その後、コンソールに出力されるすべてのイベントが表示されます。
ただし、新しいイベントがあるかどうかを確認するためにチャネルをポーリング/チェックし続ける必要があり、それは理想的ではありません。新しいイベントがチャネルに記録されるたびにサブスクライブする(またはコールバック/通知を受け取る)方法を見つけたいと思っています。コールバックでイベントを受信する方法があるはずですが、MSDNで明らかなものは何も見つかりませんでした。
誰かがC#からこれを行う方法を知っていますか?
c - MS SQL Server トレース ログの収集
C コードから SQL Server トレース ログを収集できるプログラムを作成する必要があります。これを行うにはいくつかの方法があるようです:
- トレース ファイルがストアド プロシージャを介してテーブルにマップされる、最も一般的なSQL トレースメソッドを使用します。このトレース ログは、SQL/ODBC を使用して収集できます。これに関する問題は、トレース ファイルがローテーションされ、サイズが制限されることです。トレースが収集されている間に、トレース ファイルがスワップされ、すべてのイベントが収集されない可能性があります。第 2 に、これらのストアド プロシージャは将来のバージョンで削除されるため、構築するのは得策ではないようです。
- 推奨される方法は、代わりに拡張イベントを使用することです。これは ETW とファイル ターゲットをサポートしますが、セットアップはサーバー側でより複雑なようであり、すべての SQL Server バージョンがこれをサポートしているわけではないようです。
- SMOもありますが、これは C API を提供しません。
では、SQL Server トレース ログを適切に収集するための推奨される方法は何ですか?
.net-4.5 - ETW、.NET 4.5 - イベント ログへの書き込み方法
ETW と、t を高性能アプリケーションに統合する方法について頭を悩ませようとしています。
構造化されていない (したがって最適ではない) API を使用する、古い恐ろしい EventLog を私たちは皆知っています。
現在、高性能トレース用の新しい洗練された API である ETW があり、4.5 では、簡単にサブクラス化できる EventSource クラスの形式で .NET 側に新しい API を取得しました (したがって、マニフェストを記述する必要はありません)。
これにより、これを機能させようとして、いくつかの質問が残ります。
- ETW を操作し、そこから EventLog にイベントを取得するための現在提案されている最良の (ドキュメント、ガイドラインに従って) 方法は何ですか? ここに、(パフォーマンス) イベントを記述する必要があるアプリケーションがあり、ETW を使用したいと考えています。ただし、イベントは (カスタム) イベント ログに表示されます。
- これの完全な例はありますか?いくつか見つけることができますが、それらはすべて .NET 4.0 の日付であり、マニフェストから始まります。
私は何を試しましたか?私は EventSource を機能させましたが、そこからダウンストリームで残りを機能させる方法に関する適切なドキュメントを取得できませんでした。