DiagnosticListener.Subscribe Método

Definición

Estos métodos permiten agregar un suscriptor y algunos de ellos proporcionan métodos de filtrado de eventos opcionales.

Sobrecargas

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

Agrega un suscriptor.

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

Agrega un suscriptor y, opcionalmente, filtra los eventos en función de su nombre y hasta dos objetos de contexto.

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

Agrega un suscriptor y, opcionalmente, filtra los eventos en función de su nombre.

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

Agrega un suscriptor, opcionalmente filtra los eventos en función de su nombre y hasta dos objetos de contexto, y especifica los métodos a los que se va a llamar cuando los proveedores importen o exporten actividades externas al proceso.

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

Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs

Agrega un suscriptor.

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

Parámetros

observer
IObserver<KeyValuePair<String,Object>>

Suscriptor.

Devoluciones

Referencia a una interfaz que permite a los clientes de escucha dejar de recibir notificaciones antes de que el elemento DiagnosticSource haya terminado de enviarlas.

Implementaciones

Se aplica a

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

Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs

Agrega un suscriptor y, opcionalmente, filtra los eventos en función de su nombre y hasta dos objetos de contexto.

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

Parámetros

observer
IObserver<KeyValuePair<String,Object>>

Suscriptor.

isEnabled
Func<String,Object,Object,Boolean>

Delegado que filtra los eventos en función de su nombre y hasta dos objetos de contexto (que pueden ser null), o bien null si un filtro de evento no es deseable.

Devoluciones

Referencia a una interfaz que permite a los clientes de escucha dejar de recibir notificaciones antes de que el elemento DiagnosticSource haya terminado de enviarlas.

Comentarios

Si isEnabled no nulles , indica que algunos eventos no son de interés se pueden omitir para mejorar la eficacia.

Un sitio de instrumentación determinado tiene la opción de llamar a una o varias IsEnabled sobrecargas en las que pasa el nombre del evento y hasta otros dos objetos (específicos del sitio de instrumentación) como argumentos. Si se realiza alguna de estas IsEnabled llamadas, este isEnabled predicado se invoca con valores pasados (si se usan sobrecargas más cortas, null se pasa para los objetos de contexto que faltan).

Esto proporciona a cualquier sitio de instrumentación concreto la capacidad de pasar hasta dos fragmentos de información al suscriptor para realizar un filtrado sofisticado y eficaz. Esto requiere más acoplamiento entre el sitio de instrumentación y el código de suscriptor.

Se espera que un sitio de instrumentación determinado llame a diferentes sobrecargas de IsEnabled para el mismo evento, llamando primero a IsEnabled(String), que llama al filtro con dos null objetos de contexto. Si isEnabled devuelve true, llama de nuevo con objetos de contexto. El isEnabled filtro debe diseñarse teniendo esto en cuenta.

Tenga en cuenta que el isEnabled predicado es una optimización opcional para permitir que el sitio de instrumentación evite configurar la carga y llamar a Write(String, Object) cuando no le importa ningún suscriptor. En concreto, el sitio de instrumentación tiene la opción de omitir el IsEnabled predicado (no llamarlo) y simplemente llamar a Write(String, Object). Por lo tanto, si el suscriptor requiere el filtrado, debe hacerlo a sí mismo.

Si este parámetro es null, no se realiza ningún filtrado (todas las sobrecargas de IsEnabled devolución true).

Se aplica a

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

Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs
Source:
DiagnosticListener.cs

Agrega un suscriptor y, opcionalmente, filtra los eventos en función de su nombre.

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

Parámetros

observer
IObserver<KeyValuePair<String,Object>>

Suscriptor.

isEnabled
Predicate<String>

Delegado que filtra los eventos en función de su nombre (String). El delegado debe devolver true si el evento está habilitado.

Devoluciones

Referencia a una interfaz que permite a los clientes de escucha dejar de recibir notificaciones antes de que el elemento DiagnosticSource haya terminado de enviarlas.

Comentarios

Si isEnabled no nulles , algunos eventos no son de interés y se pueden omitir para mejorar la eficacia. El isEnabled predicado es una optimización opcional para permitir que el sitio de instrumentación evite configurar la carga y llamar a Write(String, Object) cuando ningún suscriptor le interese. En particular, el sitio de instrumentación tiene la opción de omitir el IsEnabled() predicado (no llamarlo) y simplemente llamar a Write(String, Object). Por lo tanto, si el suscriptor requiere el filtrado, debe hacerlo a sí mismo.

Si isEnabled es null, no se realiza ningún filtrado (todas las sobrecargas de IsEnabled devolución true).

Se aplica a

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

Source:
DiagnosticSourceActivity.cs
Source:
DiagnosticSourceActivity.cs
Source:
DiagnosticSourceActivity.cs

Agrega un suscriptor, opcionalmente filtra los eventos en función de su nombre y hasta dos objetos de contexto, y especifica los métodos a los que se va a llamar cuando los proveedores importen o exporten actividades externas al proceso.

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

Parámetros

observer
IObserver<KeyValuePair<String,Object>>

Suscriptor.

isEnabled
Func<String,Object,Object,Boolean>

Delegado que filtra eventos según su nombre y hasta dos objetos de contexto (que pueden ser null), o bien null si no quiere usarse un filtro de evento.

onActivityImport
Action<Activity,Object>

Delegado de acción que recibe la actividad afectada por un evento externo y un objeto que representa la solicitud entrante.

onActivityExport
Action<Activity,Object>

Delegado de acción que recibe la actividad afectada por un evento externo y un objeto que representa la solicitud saliente.

Devoluciones

Referencia a una interfaz que permite a los clientes de escucha dejar de recibir notificaciones antes de que el elemento DiagnosticSource haya terminado de enviarlas.

Comentarios

Si isEnabled no es null, se pueden omitir algunos eventos sin interés para mejorar la eficacia.

También puede proporcionar métodos "onActivityImport" y "onActivityExport" a los que se llama cuando los proveedores importan o exportan actividades desde fuera del proceso (por ejemplo, desde solicitudes HTTP). Se llama a estos métodos después de importar o exportar la actividad y se puede usar para modificar la actividad o la solicitud saliente para agregar la directiva.

Se aplica a