DiagnosticListener.Subscribe DiagnosticListener.Subscribe DiagnosticListener.Subscribe DiagnosticListener.Subscribe Method

定義

オーバーロード

Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>)

サブスクライバーを追加します。Adds a subscriber.

Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)

サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングします。Adds a subscriber, and optionally filters events based on their name and up to two context objects.

Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)

サブスクライバーを追加し、任意で、その名前に基づいてイベントをフィルタリングします。Adds a subscriber, and optionally filters events based on their name.

Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)

サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングし、プロバイダーがプロセスの外からアクティビティをインポートまたはエクスポートするときに呼び出すメソッドを指定します。Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.

Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>) Subscribe(IObserver<KeyValuePair<String,Object>>)

サブスクライバーを追加します。Adds a subscriber.

public:
 virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object))) As IDisposable

パラメーター

observer
IObserver<KeyValuePair<String,Object>>

サブスクライバーです。A subscriber.

戻り値

DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。A reference to an interface that allows the listener to stop receiving notifications before the DiagnosticSource has finished sending them.

実装

Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)

サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングします。Adds a subscriber, and optionally filters events based on their name and up to two context objects.

public:
 virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer, Func<System::String ^, System::Object ^, System::Object ^, bool> ^ isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Func<string,object,object,bool> isEnabled);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Func(Of String, Object, Object, Boolean)) As IDisposable

パラメーター

observer
IObserver<KeyValuePair<String,Object>>

サブスクライバーです。A subscriber.

isEnabled
Func<String,Object,Object,Boolean>

その名前と最大 2 つのコンテキスト オブジェクト (null が可能) に基づいてイベントをフィルタリングするデリゲートです。あるいは、イベント フィルターが望ましくない場合、nullA delegate that filters events based on their name and up to two context objects (which can be null), or null to if an event filter is not desirable.

戻り値

DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。A reference to an interface that allows the listener to stop receiving notifications before the DiagnosticSource has finished sending them.

注釈

isEnabledでないnull場合は、一部のイベントが無視されて効率が低下する可能性があることを示します。If isEnabled is not null, it indicates that some events are uninteresting can be skipped for efficiency.

特定のインストルメンテーションサイトでは、1つまたは複数IsEnabledのオーバーロードを呼び出すことができます。このオーバーロードでは、イベントの名前と、他の2つの (インストルメンテーションサイト固有の) オブジェクトを引数として渡します。A particular instrumentation site has the option of calling one or more IsEnabled overloads in which it passes the name of the event and up to two other (instrumentation site specific) objects as arguments. これらIsEnabledの呼び出しのいずれかが行われisEnabledた場合は、渡された値を使用してこのnull述語が呼び出されます (短いオーバーロードが使用されている場合は、不足しているコンテキストオブジェクトに対してが渡されます)。If any of these IsEnabled calls are made then this isEnabled predicate is invoked with passed values (if shorter overloads are used, null is passed for missing context objects).

これにより、特定のインストルメンテーションサイトは、高度で効率的なフィルター処理を行うために、サブスクライバーに2つの情報を渡すことができます。This gives any particular instrumentation site the ability to pass up to two pieces of information to the subscriber to do sophisticated, efficient filtering. そのためには、インストルメンテーションサイトとサブスクライバーコードの間により多くの結合が必要になります。This requires more coupling between the instrumentation site and the subscriber code.

特定のインストルメンテーションサイトで、同じイベントに対してのIsEnabled異なるオーバーロードを呼び出すことが想定されています。最初にを呼び出しIsEnabled(String)、2つnullのコンテキストオブジェクトを含むフィルターを呼び出します。It is expected that a particular instrumentation site may call different overloads of IsEnabled for the same event, first calling IsEnabled(String), which calls the filter with two null context objects. isEnabledtrue返した場合は、コンテキストオブジェクトを使用して再度を呼び出します。If isEnabled returns true, it calls again with context objects. フィルター isEnabledは、この点を念頭に置いて設計する必要があります。The isEnabled filter should be designed with this in mind.

isEnabled述語はオプションの最適化であり、インストルメンテーションサイトがペイロードの設定を回避し、サブスクライバーが関心を持たない場合はを呼び出すWrite(String, Object)ことができないことに注意してください。Note that the isEnabled predicate is an optional optimization to allow the instrumentation site to avoid setting up the payload and calling Write(String, Object) when no subscriber cares about it. 具体的には、インストルメンテーションサイトには、述語をIsEnabled無視し、を呼び出すWrite(String, Object)だけのオプションがあります。In particular, the instrumentation site has the option of ignoring the IsEnabled predicate (not calling it) and simply calling Write(String, Object). そのため、サブスクライバーがフィルター処理を必要とする場合は、サブスクライバー自体を処理する必要があります。Thus, if the subscriber requires the filtering, it needs to do it itself.

このパラメーターがnullの場合、フィルター処理は行われません ( trueすべてのIsEnabledオーバーロードが返されます)。If this parameter is null, no filtering is done (all overloads of IsEnabled return true).

Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)

サブスクライバーを追加し、任意で、その名前に基づいてイベントをフィルタリングします。Adds a subscriber, and optionally filters events based on their name.

public:
 virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer, Predicate<System::String ^> ^ isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Predicate<string> isEnabled);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Predicate<string> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Predicate<string> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Predicate(Of String)) As IDisposable

パラメーター

observer
IObserver<KeyValuePair<String,Object>>

サブスクライバーです。A subscriber.

isEnabled
Predicate<String>

その名前 (String) に基づいてイベントをフィルタリングするデリゲートです。A delegate that filters events based on their name (String). イベントが有効な場合、このデリゲートは true を返します。The delegate should return true if the event is enabled.

戻り値

DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。A reference to an interface that allows the listener to stop receiving notifications before the DiagnosticSource has finished sending them.

注釈

isEnabledでないnull場合、一部のイベントは無意味で、効率を上げるためにスキップできます。If isEnabled is not null, some events are uninteresting and can be skipped for efficiency. 述語isEnabledはオプションの最適化であり、インストルメンテーションサイトがペイロードの設定を回避し、 Write(String, Object)サブスクライバーが関心を持っていないときにを呼び出すことができないようにします。The isEnabled predicate is an optional optimization to allow the instrumentation site to avoid setting up the payload and calling Write(String, Object) when no subscriber cares about it. 特に、インストルメンテーションサイトには、述語をIsEnabled()無視し、を呼び出すWrite(String, Object)だけのオプションがあります。In particular the instrumentation site has the option of ignoring the IsEnabled() predicate (not calling it) and simply calling Write(String, Object). したがって、サブスクライバーがフィルター処理を必要とする場合は、それ自体を行う必要があります。Thus if the subscriber requires the filtering, it needs to do it itself.

isEnabled IsEnabled trueの場合、フィルター処理は行われません (すべてのオーバーロードが返されます)。 nullIf isEnabled is null, no filtering is done (all overloads of IsEnabled return true).

Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)

サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングし、プロバイダーがプロセスの外からアクティビティをインポートまたはエクスポートするときに呼び出すメソッドを指定します。Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.

public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Func<string,object,object,bool> isEnabled, Action<System.Diagnostics.Activity,object> onActivityImport = null, Action<System.Diagnostics.Activity,object> onActivityExport = null);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> * Action<System.Diagnostics.Activity, obj> * Action<System.Diagnostics.Activity, obj> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> * Action<System.Diagnostics.Activity, obj> * Action<System.Diagnostics.Activity, obj> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Func(Of String, Object, Object, Boolean), Optional onActivityImport As Action(Of Activity, Object) = null, Optional onActivityExport As Action(Of Activity, Object) = null) As IDisposable

パラメーター

observer
IObserver<KeyValuePair<String,Object>>

サブスクライバーです。A subscriber.

isEnabled
Func<String,Object,Object,Boolean>

その名前と最大 2 つのコンテキスト オブジェクト (null が可能) に基づいてイベントをフィルタリングするデリゲートです。あるいは、イベント フィルターが望ましくない場合、nullA delegate that filters events based on their name and up to two context objects (which can be null), or null if an event filter is not desirable.

onActivityImport
Action<Activity,Object>

外部イベントの影響を受けるアクティビティを受け取るアクション デリゲートおよび受信要求を表すオブジェクトです。An action delegate that receives the activity affected by an external event and an object that represents the incoming request.

onActivityExport
Action<Activity,Object>

外部イベントの影響を受けるアクティビティを受け取るアクション デリゲートおよび送信要求を表すオブジェクトです。An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.

戻り値

DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。A reference to an interface that allows the listener to stop receiving notifications before the DiagnosticSource has finished sending them.

注釈

isEnabled null 以外の場合は、一部のイベントが無視されて効率が低下する可能性があります。If isEnabled is non-null, some events are uninteresting can be skipped for efficiency.

また、プロセスの外部から (たとえば、HTTP 要求から) アクティビティをインポートまたはエクスポートするときに呼び出される "onActivityImport" メソッドと "Onactivityimport" メソッドを指定することもできます。You can also supply 'onActivityImport' and 'onActivityExport' methods that are called when providers importing or export activities from outside the process (for example, from HTTP requests). これらのメソッドは、アクティビティをインポートまたはエクスポートした後に呼び出され、アクティビティまたは送信要求を変更してポリシーを追加するために使用できます。These methods are called after importing or exporting the activity and can be used to modify the activity or the outgoing request to add policy.

適用対象