問題タブ [etw-eventsource]

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.

0 投票する
2 に答える
2392 参照

c# - ETW ログ - TraceEventSession がファイルを上書きする

TraceEventSession を使用して ETW メッセージをキャプチャし、ログ ファイルに転送する IIS アプリケーションがあります。

正常に動作していますが、何らかの理由でアプリを再起動するたびに、ログ ファイルに追加する代わりに上書きします。私が見逃しているものはありますか?

前もって感謝します

0 投票する
1 に答える
5739 参照

node.js - EventSource でエラーに関する情報を取得する

NodeJs でEventSourceを使用する際のエラーに関する情報を取得しようとしています。次の例を使用すると、よりよく理解できると思います。

onerror関数では、エラーに関する情報を取得したいのですが、オブジェクトと同様にevent空または未定義esです(このオブジェクトには中かっこのペアが付属しています{})。エラーが発生した場合は、次のような応答ヘッダーを読みたいと思います。

これは可能ですか?私は何が欠けていますか?答えは非常に簡単だと思いますが、私は NodeJ の初心者です。

0 投票する
2 に答える
3328 参照

c# - パラメータの型と EventSource メソッドの数に関する制限の理由

現在、C# で Microsoft EventSources を試しています。1つの制限は次のとおりです

...ETW メソッドに渡される引数の数と型は、それが呼び出す WriteEvent オーバーロードに渡される型と正確に一致する必要があります。例えば:

これは基本的に、EventSource クラスでよりリッチな API を作成することを制限します。これは基本的に、カスタム オブジェクトを受け取るメソッドを作成できず、メソッド本体内でそれを文字列 (または WriteEvent オーバーロードでサポートされている別の型) にシリアル化できることを意味します。

決定できる唯一のことは、メソッド名と、WriteEvent オーバーロードを反映するパラメーター名とカウントです。それとも私が間違っていますか?

0 投票する
1 に答える
829 参照

c# - ETW EventSource で名前階層を定義する方法は?

私のプロジェクトでは、次のように System.Diagnostics.Tracing.EventSource を使用します。

"Additional Providers" フィールドで "*kafka4net" を定義して、動的プロバイダー機能で PerfView を使用します。これにより、プロバイダーがその名前で解決されます。うまく動作します。1 つの例外を除いて。私が見ているイベントは kafka4net/Connecting のものですが、kafka4net/ConnectionTrace/Connecting を見たいと思っています。

一般的に言えば、イベントを製品/サブシステム/イベントにしたいと考えています。「Microsoft-Windows-DotNETRuntime/GC/Start」など、一部のシステム コンポーネントがこの構造を持っていることがわかります。

[EventSource(Name = "kafka4net-Connection")] を配置しようとしましたが、「kafka4net-Connection、kafka4net-Fetcher」などのすべてのサブシステムを列挙する必要があるため、PerfView で動的イベントとして使用することはできません。 . そして、これはいけません。

EventSource には Name プロパティがあり、最上位の「製品」にすることができ、関数名はイベント名階層の最下位レベルとして使用されます。イベント名階層の中間要素「サブシステム」に固執するにはどうすればよいですか?

0 投票する
1 に答える
2893 参照

c# - ETW ログ記録 - TraceEventSession は、リスナーの複数のイベント プロバイダーを有効にします

システムで使用可能なすべてのイベント ソースをリッスンする ETW リスナーを開発しています。

Q1: 以下のサンプル コードを見つけてください。

このコードは、「ETW-TEST-APPLICATION」という 1 つのイベント ソースに適しています。このリスナーを複数のイベント ソース「ETW-TEST-APPLICATION2」、「ETW-TEST-APPLICATION3」などで使用したいと考えています。

これを実現するために利用できるオプションについて教えてください。スレッドで試しましたが、うまくいきませんでした。

Q2: 複数の session.EnableProvider を使用できるかどうかも教えてください。情報メッセージとエラー メッセージのみを有効にして、警告メッセージを無視したいです。 session.EnableProvider(providerGuid,TraceEventLevel.Informational); session.EnableProvider(providerGuid,TraceEventLevel.Error);

0 投票する
2 に答える
987 参照

c# - TraceEvent ライブラリを使用してプロセス名をキャプチャするにはどうすればよいですか?

TraceEvent ライブラリを使用してETW トレースをキャプチャしていますが、イベントを発生させたプロセスの名前を特定できません。

これが私がこれまでに持っているものです:

最後のブレークポイントにヒットすると、process"". ProcessIDは適切な PID ですが、ログ内のプロセスから見つけた有用な情報はこれだけです。

プロセス名がログに記録されることを期待していました。何か間違ったことをしているのですか、それともこの API が私の OS (Windows 7) で利用できないのですか?

0 投票する
1 に答える
1332 参照

c# - ETWTraceEventSource を使用した循環 ETW ログ ファイルの読み取り

短いバージョン- ETWTraceEventSource が 100 MB の循環ログ ファイルに対して 0 のログ エントリを返すのはなぜですか?

長いバージョン- ETW ログを使用するように IIS アプリケーションを変更しました (nuget パッケージを使用)。私のイベントソースは次のようになります: -

そして、次のようなプロバイダーを有効にするセッションがあります: -

IIS の機能はすべて正常に動作しています。これらのログを表示するための winforms アプリケーションを作成するように依頼された (ユーザーは PerfView を好まない) ため、次のコードを作成しました。

ユーザーはこれらのログを 10 個作成し、自分のマシン (Windows 8.1) ではそのうちの 8 個がアプリに完全にロードされます。残りの 2 つは 100 MB で、ログ エントリは表示されません。それらを PerfView で開くと、ファイルに問題はなく、すべてのログ エントリがそこにあることがわかります。

私のマシン(Windows 8.1も)でそれらをデバッグしても、「プロセスログエントリ」でコードにヒットすることはありません。多くの試行錯誤の後、Dynamic.All の代わりに AllEvents を使用するとうまくいくことがわかりました。

これがテスト マシン (Windows 7) で正常に動作することを確認しましたが、アプリをユーザーに戻すと、まったく同じ問題が発生します。Windows 2008 R2 マシン (.net 4.5.2) と Windows 7 マシン (.net 4.5.1) でもこれを再現しました。

ヘルプ!!!