DiagnosticListener.Subscribe メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
これらのメソッドを使用するとサブスクライバーを追加でき、その一部でオプションのイベント フィルター メソッドが提供されます。
オーバーロード
Subscribe(IObserver<KeyValuePair<String,Object>>) |
サブスクライバーを追加します。 |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) |
サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングします。 |
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) |
サブスクライバーを追加し、任意で、その名前に基づいてイベントをフィルタリングします。 |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) |
サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングし、プロバイダーがプロセスの外からアクティビティをインポートまたはエクスポートするときに呼び出すメソッドを指定します。 |
Subscribe(IObserver<KeyValuePair<String,Object>>)
サブスクライバーを追加します。
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);
public IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,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
Public Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object))) As IDisposable
パラメーター
- observer
- IObserver<KeyValuePair<String,Object>>
サブスクライバーです。
戻り値
DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。
実装
適用対象
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)
サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングします。
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);
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>>
サブスクライバーです。
その名前と最大 2 つのコンテキスト オブジェクト (null
が可能) に基づいてイベントをフィルタリングするデリゲートです。あるいは、イベント フィルターが望ましくない場合、null
。
戻り値
DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。
注釈
が でないnull
場合isEnabled
は、一部のイベントが効率良くスキップできることを示します。
特定のインストルメンテーション サイトには、イベントの名前を渡す 1 つ以上 IsEnabled のオーバーロードを呼び出し、最大 2 つの他の (インストルメンテーション サイト固有の) オブジェクトを引数として呼び出すオプションがあります。 これらの IsEnabled 呼び出しのいずれかが行われた場合、この isEnabled
述語は渡された値で呼び出されます (短いオーバーロードが使用されている場合は、 null
不足しているコンテキスト オブジェクトに渡されます)。
これにより、特定のインストルメンテーション サイトで最大 2 つの情報をサブスクライバーに渡して、高度で効率的なフィルター処理を実行できます。 これには、インストルメンテーション サイトとサブスクライバー コード間の結合が増える必要があります。
特定のインストルメンテーション サイトでは、同じイベントに対して の異なるオーバーロード IsEnabled
を呼び出し、最初に を呼び出して IsEnabled(String)、2 つの null
コンテキスト オブジェクトでフィルターを呼び出す可能性があります。 が を返す場合 isEnabled
は true
、コンテキスト オブジェクトを使用してもう一度 を呼び出します。 フィルターは isEnabled
、これを念頭に置いて設計する必要があります。
isEnabled
述語は省略可能な最適化であり、サブスクライバーが気にしない場合にインストルメンテーション サイトでペイロードの設定と呼び出しWrite(String, Object)を回避できます。 特に、インストルメンテーション サイトには、述語を無視して IsEnabled (呼び出さない) 単に を呼び出す Write(String, Object)オプションがあります。 したがって、サブスクライバーがフィルター処理を必要とする場合は、それ自体を行う必要があります。
このパラメーターが の場合、null
フィルター処理は行われません (戻り値true
のすべてのオーバーロードIsEnabled)。
適用対象
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)
サブスクライバーを追加し、任意で、その名前に基づいてイベントをフィルタリングします。
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);
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>>
サブスクライバーです。
その名前 (String) に基づいてイベントをフィルタリングするデリゲートです。 イベントが有効な場合、このデリゲートは true
を返します。
戻り値
DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。
注釈
が でないnull
場合isEnabled
、一部のイベントは興味を持たず、効率を高めてスキップできます。 述語は isEnabled
省略可能な最適化であり、インストルメンテーション サイトがペイロードを設定し、サブスクライバーが気にしない場合に を呼び出 Write(String, Object) さないようにします。 特に、インストルメンテーション サイトには、述語を無視して IsEnabled() (呼び出さない) 単に を呼び出す Write(String, Object)オプションがあります。 したがって、サブスクライバーがフィルター処理を必要とする場合は、それ自体を行う必要があります。
が の場合isEnabled
、フィルター処理は行われません (戻り値true
のすべてのオーバーロードIsEnabled)。null
適用対象
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)
サブスクライバーを追加し、任意で、その名前と最大 2 つのコンテキスト オブジェクトに基づいてイベントをフィルタリングし、プロバイダーがプロセスの外からアクティビティをインポートまたはエクスポートするときに呼び出すメソッドを指定します。
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object?>> observer, Func<string,object?,object?,bool>? isEnabled, Action<System.Diagnostics.Activity,object?>? onActivityImport = default, Action<System.Diagnostics.Activity,object?>? onActivityExport = default);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Func<string,object,object,bool> isEnabled, Action<System.Diagnostics.Activity,object> onActivityImport = default, Action<System.Diagnostics.Activity,object> onActivityExport = default);
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) = Nothing, Optional onActivityExport As Action(Of Activity, Object) = Nothing) As IDisposable
パラメーター
- observer
- IObserver<KeyValuePair<String,Object>>
サブスクライバーです。
その名前と最大 2 つのコンテキスト オブジェクト (null
が可能) に基づいてイベントをフィルタリングするデリゲートです。あるいは、イベント フィルターが望ましくない場合、null
。
戻り値
DiagnosticSource が通知の送信を完了する前に、リスナーが通知の受信を停止できるインターフェイスへの参照。
注釈
が null 以外の場合 isEnabled
、効率を高める目的で一部のイベントをスキップできます。
また、プロバイダーがプロセスの外部 (HTTP 要求など) からアクティビティをインポートまたはエクスポートするときに呼び出される 'onActivityImport' メソッドと 'onActivityExport' メソッドを指定することもできます。 これらのメソッドは、アクティビティのインポートまたはエクスポート後に呼び出され、アクティビティまたは送信要求を変更してポリシーを追加するために使用できます。
適用対象
.NET