Aspnetcore: EventSource DiagnosticSource どちらも

䜜成日 2017幎12月18日  Â·  3コメント  Â·  ゜ヌス: dotnet/aspnetcore

EventSourceトレヌスたずえばhttps://github.com/aspnet/Security/issues/1518などに関しお耇数のリポゞトリで@anurseによっお開かれた問題が発生しおいたすが、実際のアクティビティはただありたせん。 MVCのどこにもEventSourceの痕跡はありたせん。

私は最近、新しいActivityものでDiagnosticSourceトレヌスを消費するコヌドをたくさん曞いおいるので、同じリポゞトリがDiagnosticSourceサポヌトを远加するこずを期埅しおいたした。

お互いをサポヌトする長期的な蚈画はありたすか 圌らは同じこずをしおいるようです。 明らかに、WindowsではEventSourceがETWに曞き蟌みたすが、Linuxでは進行䞭だず思いたすか

任意のガむダンスをいただければ幞いです。

最も参考になるコメント

私は内郚で䜕床も繰り返したいく぀かの簡単な考えですが、倖郚に぀いおはよくわかりたせん...

EventSource

EventSourceの䜿甚は、LTTNGやETWなどのアりトプロセスロギングメカニズムの䜿甚も意味するず想定したす。 EventSourceは、忠実床の䜎い情報を含むいく぀かのデヌタポむントを起動しお埌で確認し、ある皮の統蚈たたは芁玄にコンパむルする堎合に最適です。 EventSourceの䞀般的な䜿甚法は、むベントをファむルETWにパむプし、それらを䜿甚しお事埌分析を行うこずであるため、忠実床が䜎いず蚀いたす。 PerfViewのようなEventSourceからのデヌタを芋るツヌルは、いく぀かのむベントJIT、GCに関する特別な知識を持っおいたすが、䜜成するむベントに぀いおは、䞀般的なビュヌを衚瀺したす。 デヌタの䞀般的なビュヌたたは芁玄/衚を衚瀺するこずは、すべお単玔なタむプであるため機胜したす。 もちろん、専甚のツヌルを䜜成するこずもできたすが、䞀般的なケヌスは、PerfViewのようなものを䜿甚するこずです。

次の声明は明癜に思えたすが、それに぀いお蚀及する理由はすぐに明らかになるこずを願っおいたす。 EventSourceを䜿甚するず、発生するむベントの解釈が事前に決定されたす。 蚘録するすべおのデヌタはコンポヌネントの䜜成者によっお指定され、通垞はむベント名に関連付けられた固定の意味を持ちたす。 EventSourceを䜿甚するず、「4096バむトのデヌタを読み取る」や「5.6msでファむルをロヌドする」などずよく蚀われたす。 これらの小さな事実の蚘述は、「ファむルI / Oの実行に費やされた150ミリ秒」のような芁玄にたずめたり、倖れ倀の堎合は具䜓的に掘り䞋げたりするこずができたす。

DiagnosticSource

DiagnosticSourceの䜿甚は、デヌタを意味のあるナゲットに抜出する「プラグむン」たたは別のロギングシステムによっおむンプロセスで行われおいるず想定したす。 DiagnosticSourceは、アプリケヌションの状態の完党なコンテキストをリスナヌに枡し、そのリスナヌがアプリケヌションの状態ぞのアクセスに基づいお独自の解釈を远加する堎合に最適です。 DiagnosticSourceには、ネむティブのログ圢匏もありたせん。たた、デヌタポむントの䞀般的な理解もありたせん通垞は単玔なタむプではないため。ナヌザヌが芋たいものを䜜成するには、远加のシステムが必芁です。

DiagnosticSourceむベントは分厚い傟向があり、「リク゚ストを凊理しようずしおいたす」や「ミドルりェアによっおスロヌされた䟋倖をキャッチしたした」などず衚瀺されたす。 これらはただ事実の衚明ですが、範囲ははるかに倧きいです。 ツヌルは豊富なコンテキストにアクセスできるため、コンテキストに応じお意味のある情報を自由にキャプチャできたす。 最終的に、Application Insightsなどのツヌルによっおキャプチャされる䞀連の情報は、ASP.NETチヌムによっお定矩されたせん。 私たちは圌らに私たちが持っおいるすべおのコンテキストを提䟛し、圌らが重芁だず思うものをキャプチャしたす。

ブリッゞを介しおDiagnosticSourceデヌタをEventSourceにパむプするこずもできたす。 私は個人的にこれを行っおいたせんが、堎所によっおは必芁な蚺断コヌドの量が2倍になるのを避ける぀もりのようです。 https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/DiagnosticSourceEventSource.cs#L22すべおのでDiagnosticSourceを䜿甚するずは思いたせんEventSourceず同じ堎所。 これを掻甚した戊略がどのように機胜するかはわかりたせんが、詊したこずはありたせん。

私たちにずっお、この領域は数回倉曎されたした。 ここでは、Glimpseずの提携から始め、最終的にApplicationInsightsずの提携を開始したした。 その過皋で、蚺断゜ヌスの䞊に他のいく぀かのものが構築されたしたが、それらの他のツヌルの珟圚のステヌタスはわかりたせん。

私たちの蚈画

EventSourceやDiagnosticSourceに関するより倧きな戊略に぀いお話すこずはできたせんが、私がそれらをどのように考えおいるか、そしおチヌムのほずんどが私たちのアプロヌチをどのように芋おいるかに぀いおは答えるこずができたす。 EventSourceの代わりずしおDiagnosticSourceを䜜成したせんでした。 私の考えでは、それは異なる消費者ず䞀連のシナリオに圹立ちたす。

蚺断゜ヌスむベントを远加しお、倚くの䟡倀が远加されるず考えたす。 これらのいく぀かは、他の誰かが蚺断を構築するための拡匵性のようなものであるため、非垞に長い道のりを進みたす。 ホスティングにはおそらく3〜5の蚺断゜ヌスポむントがあり、MVCには10に近いず思いたす。珟圚远跡しおいる堎所が他にあるかどうかはわかりたせん。 誰かが真のニヌズを持っおいるなら、私たちはそれを怜蚎したす。

むベント゜ヌスの構築を行っおいたす。 これは、フィヌルドサポヌト゚ンゞニアが粟通しおいるこずであり、通垞、マむクロ゜フトのチヌムのパフォヌマンス分析の重芁な郚分です。 パフォヌマンスカりンタヌがないために残された空癜を解決しようずしおいたす。 .NETチヌムは、適切な代替ずしおEventCountersEventSourceの䞊に構築を䜜成するために取り組んでいたす。 ASP.NETチヌムがEventSourceにさらに投資するのが遅れた䞻な理由は、しばらくの間、Windows以倖の戊略がどうなるかが明確でなかったためです。 EventSourceが* nixプラットフォヌムで䜿甚されない堎合は、将来、別のものを䜜成するこずを避けたかったのです。 それは片付けられたした。

ここに良いドキュメントがありたす https 

あなたのために

たあ、それはあなたが䞡方たたはどちらかを行うこずができるように聞こえたす。 私はあなたが取り組んでいるこずにあたり粟通しおいないので、以䞋はいく぀かの䞀般的なアドバむスです。

たず、あなたの消費者が誰であるかを考えおください。 これはあなたのためですか perfこれはアプリケヌション開発者向けですか デバッグずトラブルシュヌティングこれはツヌルの䜜成者向けですか ツヌルは事埌分析ですか、それずもアプリ内で実行されおいたすか

次に、蚈枬する予定の堎所の数ず、意味があるず思うデヌタの皮類に぀いお考えたす。 消費者はこのデヌタをどのように理解し、解釈したすか 個々のデヌタポむントは意味がありたすか、それずもデヌタを集玄する必芁がありたすか

党おのコメント3件

@ rynowak-共有できるこれに関するガむダンスはありたすか

私は内郚で䜕床も繰り返したいく぀かの簡単な考えですが、倖郚に぀いおはよくわかりたせん...

EventSource

EventSourceの䜿甚は、LTTNGやETWなどのアりトプロセスロギングメカニズムの䜿甚も意味するず想定したす。 EventSourceは、忠実床の䜎い情報を含むいく぀かのデヌタポむントを起動しお埌で確認し、ある皮の統蚈たたは芁玄にコンパむルする堎合に最適です。 EventSourceの䞀般的な䜿甚法は、むベントをファむルETWにパむプし、それらを䜿甚しお事埌分析を行うこずであるため、忠実床が䜎いず蚀いたす。 PerfViewのようなEventSourceからのデヌタを芋るツヌルは、いく぀かのむベントJIT、GCに関する特別な知識を持っおいたすが、䜜成するむベントに぀いおは、䞀般的なビュヌを衚瀺したす。 デヌタの䞀般的なビュヌたたは芁玄/衚を衚瀺するこずは、すべお単玔なタむプであるため機胜したす。 もちろん、専甚のツヌルを䜜成するこずもできたすが、䞀般的なケヌスは、PerfViewのようなものを䜿甚するこずです。

次の声明は明癜に思えたすが、それに぀いお蚀及する理由はすぐに明らかになるこずを願っおいたす。 EventSourceを䜿甚するず、発生するむベントの解釈が事前に決定されたす。 蚘録するすべおのデヌタはコンポヌネントの䜜成者によっお指定され、通垞はむベント名に関連付けられた固定の意味を持ちたす。 EventSourceを䜿甚するず、「4096バむトのデヌタを読み取る」や「5.6msでファむルをロヌドする」などずよく蚀われたす。 これらの小さな事実の蚘述は、「ファむルI / Oの実行に費やされた150ミリ秒」のような芁玄にたずめたり、倖れ倀の堎合は具䜓的に掘り䞋げたりするこずができたす。

DiagnosticSource

DiagnosticSourceの䜿甚は、デヌタを意味のあるナゲットに抜出する「プラグむン」たたは別のロギングシステムによっおむンプロセスで行われおいるず想定したす。 DiagnosticSourceは、アプリケヌションの状態の完党なコンテキストをリスナヌに枡し、そのリスナヌがアプリケヌションの状態ぞのアクセスに基づいお独自の解釈を远加する堎合に最適です。 DiagnosticSourceには、ネむティブのログ圢匏もありたせん。たた、デヌタポむントの䞀般的な理解もありたせん通垞は単玔なタむプではないため。ナヌザヌが芋たいものを䜜成するには、远加のシステムが必芁です。

DiagnosticSourceむベントは分厚い傟向があり、「リク゚ストを凊理しようずしおいたす」や「ミドルりェアによっおスロヌされた䟋倖をキャッチしたした」などず衚瀺されたす。 これらはただ事実の衚明ですが、範囲ははるかに倧きいです。 ツヌルは豊富なコンテキストにアクセスできるため、コンテキストに応じお意味のある情報を自由にキャプチャできたす。 最終的に、Application Insightsなどのツヌルによっおキャプチャされる䞀連の情報は、ASP.NETチヌムによっお定矩されたせん。 私たちは圌らに私たちが持っおいるすべおのコンテキストを提䟛し、圌らが重芁だず思うものをキャプチャしたす。

ブリッゞを介しおDiagnosticSourceデヌタをEventSourceにパむプするこずもできたす。 私は個人的にこれを行っおいたせんが、堎所によっおは必芁な蚺断コヌドの量が2倍になるのを避ける぀もりのようです。 https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/DiagnosticSourceEventSource.cs#L22すべおのでDiagnosticSourceを䜿甚するずは思いたせんEventSourceず同じ堎所。 これを掻甚した戊略がどのように機胜するかはわかりたせんが、詊したこずはありたせん。

私たちにずっお、この領域は数回倉曎されたした。 ここでは、Glimpseずの提携から始め、最終的にApplicationInsightsずの提携を開始したした。 その過皋で、蚺断゜ヌスの䞊に他のいく぀かのものが構築されたしたが、それらの他のツヌルの珟圚のステヌタスはわかりたせん。

私たちの蚈画

EventSourceやDiagnosticSourceに関するより倧きな戊略に぀いお話すこずはできたせんが、私がそれらをどのように考えおいるか、そしおチヌムのほずんどが私たちのアプロヌチをどのように芋おいるかに぀いおは答えるこずができたす。 EventSourceの代わりずしおDiagnosticSourceを䜜成したせんでした。 私の考えでは、それは異なる消費者ず䞀連のシナリオに圹立ちたす。

蚺断゜ヌスむベントを远加しお、倚くの䟡倀が远加されるず考えたす。 これらのいく぀かは、他の誰かが蚺断を構築するための拡匵性のようなものであるため、非垞に長い道のりを進みたす。 ホスティングにはおそらく3〜5の蚺断゜ヌスポむントがあり、MVCには10に近いず思いたす。珟圚远跡しおいる堎所が他にあるかどうかはわかりたせん。 誰かが真のニヌズを持っおいるなら、私たちはそれを怜蚎したす。

むベント゜ヌスの構築を行っおいたす。 これは、フィヌルドサポヌト゚ンゞニアが粟通しおいるこずであり、通垞、マむクロ゜フトのチヌムのパフォヌマンス分析の重芁な郚分です。 パフォヌマンスカりンタヌがないために残された空癜を解決しようずしおいたす。 .NETチヌムは、適切な代替ずしおEventCountersEventSourceの䞊に構築を䜜成するために取り組んでいたす。 ASP.NETチヌムがEventSourceにさらに投資するのが遅れた䞻な理由は、しばらくの間、Windows以倖の戊略がどうなるかが明確でなかったためです。 EventSourceが* nixプラットフォヌムで䜿甚されない堎合は、将来、別のものを䜜成するこずを避けたかったのです。 それは片付けられたした。

ここに良いドキュメントがありたす https 

あなたのために

たあ、それはあなたが䞡方たたはどちらかを行うこずができるように聞こえたす。 私はあなたが取り組んでいるこずにあたり粟通しおいないので、以䞋はいく぀かの䞀般的なアドバむスです。

たず、あなたの消費者が誰であるかを考えおください。 これはあなたのためですか perfこれはアプリケヌション開発者向けですか デバッグずトラブルシュヌティングこれはツヌルの䜜成者向けですか ツヌルは事埌分析ですか、それずもアプリ内で実行されおいたすか

次に、蚈枬する予定の堎所の数ず、意味があるず思うデヌタの皮類に぀いお考えたす。 消費者はこのデヌタをどのように理解し、解釈したすか 個々のデヌタポむントは意味がありたすか、それずもデヌタを集玄する必芁がありたすか

長期間曎新されおいない「ディスカッション」の問題は定期的にクロヌズしたす。

ご䞍䟿をおかけしお申し蚳ございたせん。 それでも問題が発生する堎合は、曎新された情報を䜿甚しお新しい問題をログに蚘録しおください。調査いたしたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡