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が通知の送信を完了する前にリスナーが通知の受信を停止できるようにするインターフェイスへの参照。
注釈
isEnabledがnullされていない場合は、一部のイベントが効率のためにスキップされる可能性があることを示します。
特定のインストルメンテーション サイトには、イベントの名前を渡す 1 つ以上の IsEnabled オーバーロードを呼び出し、引数として最大 2 つの他の (インストルメンテーション サイト固有の) オブジェクトを呼び出すオプションがあります。 これらの IsEnabled 呼び出しのいずれかが行われた場合、この isEnabled 述語は渡された値で呼び出されます (短いオーバーロードが使用されている場合は、不足しているコンテキスト オブジェクトに対して null が渡されます)。
これにより、特定のインストルメンテーション サイトで最大 2 つの情報をサブスクライバーに渡して、高度で効率的なフィルター処理を実行できます。 これには、インストルメンテーション サイトとサブスクライバー コードの間にさらに多くの結合が必要です。
特定のインストルメンテーション サイトは、同じイベントに対して異なるIsEnabledのオーバーロードを呼び出し、最初に 2 つのnull コンテキスト オブジェクトを持つフィルターを呼び出すIsEnabled(String)を呼び出すことがあります。
isEnabledがtrueを返す場合は、コンテキスト オブジェクトを使用して再度呼び出します。
isEnabled フィルターは、これを念頭に置いて設計する必要があります。
isEnabled述語は省略可能な最適化であり、サブスクライバーがペイロードを気にしない場合に、インストルメンテーション サイトでペイロードの設定とWrite(String, Object)の呼び出しを回避できます。 特に、インストルメンテーション サイトには、 IsEnabled 述語を無視し (呼び出さない)、単に Write(String, Object)を呼び出すオプションがあります。 したがって、サブスクライバーがフィルター処理を必要とする場合は、それ自体を行う必要があります。
このパラメーターが nullの場合、フィルター処理は行われません ( IsEnabled のすべてのオーバーロードは trueを返します)。
適用対象
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が通知の送信を完了する前にリスナーが通知の受信を停止できるようにするインターフェイスへの参照。
注釈
isEnabledがnullされていない場合、一部のイベントは興味を引かず、効率のためにスキップできます。
isEnabled述語は省略可能な最適化であり、サブスクライバーがペイロードを気にしない場合に、インストルメンテーション サイトでペイロードの設定とWrite(String, Object)の呼び出しを回避できます。 特に、インストルメンテーション サイトには、 IsEnabled() 述語を無視し (呼び出さない)、単に Write(String, Object)を呼び出すオプションがあります。 したがって、サブスクライバーがフィルター処理を必要とする場合は、それ自体を行う必要があります。
isEnabledがnullされている場合、フィルター処理は行われません (IsEnabledのすべてのオーバーロードはtrueを返します)。
適用対象
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が通知の送信を完了する前にリスナーが通知の受信を停止できるようにするインターフェイスへの参照。
注釈
isEnabledが null 以外の場合、一部のイベントは効率のためにスキップできます。
また、プロバイダーがプロセスの外部 (たとえば HTTP 要求から) アクティビティをインポートまたはエクスポートするときに呼び出される 'onActivityImport' メソッドと 'onActivityExport' メソッドを指定することもできます。 これらのメソッドは、アクティビティのインポートまたはエクスポート後に呼び出され、アクティビティまたは送信要求を変更してポリシーを追加するために使用できます。