Partilhar via


DiagnosticListener.Subscribe Método

Definição

Esses métodos permitem adicionar um assinante e alguns deles fornecem métodos de filtragem de eventos opcionais.

Sobrecargas

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

Adiciona um assinante.

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

Adiciona um assinante e opcionalmente filtra eventos com base em seu nome e até dois objetos de contexto.

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

Adiciona um assinante e, opcionalmente, filtra eventos com base em seu nome.

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

Adiciona um assinante, opcionalmente, filtra eventos com base em seu nome e até dois objetos de contexto e especifica os métodos a serem chamados quando os provedores importam ou exportam atividades de fora do processo.

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

Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs

Adiciona um assinante.

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>>

Um assinante.

Retornos

Uma referência a uma interface que permite que o ouvinte para de receber notificações antes que o DiagnosticSource tenha terminado de enviá-las.

Implementações

Aplica-se a

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

Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs

Adiciona um assinante e opcionalmente filtra eventos com base em seu nome e até dois 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>>

Um assinante.

isEnabled
Func<String,Object,Object,Boolean>

Um delegado que filtra eventos com base em seu nome e até dois objetos de contexto (que podem ser null) ou null se um filtro de evento não for desejável.

Retornos

Uma referência a uma interface que permite que o ouvinte para de receber notificações antes que o DiagnosticSource tenha terminado de enviá-las.

Comentários

Se isEnabled não nullfor , isso indica que alguns eventos não são interessantes podem ser ignorados para eficiência.

Um site de instrumentação específico tem a opção de chamar uma ou mais IsEnabled sobrecargas nas quais ele passa o nome do evento e até dois outros objetos (específicos do site de instrumentação) como argumentos. Se qualquer uma dessas IsEnabled chamadas for feita, esse isEnabled predicado será invocado com valores passados (se forem usadas sobrecargas mais curtas, null será passado para objetos de contexto ausentes).

Isso fornece a qualquer site de instrumentação específico a capacidade de passar até duas informações ao assinante para fazer uma filtragem sofisticada e eficiente. Isso requer mais acoplamento entre o site de instrumentação e o código do assinante.

Espera-se que um determinado site de instrumentação possa chamar sobrecargas diferentes de IsEnabled para o mesmo evento, chamando IsEnabled(String)primeiro , que chama o filtro com dois null objetos de contexto. Se isEnabled retornar true, ele chamará novamente com objetos de contexto. O isEnabled filtro deve ser projetado com isso em mente.

Observe que o isEnabled predicado é uma otimização opcional para permitir que o site de instrumentação evite configurar o conteúdo e chamar Write(String, Object) quando nenhum assinante se importa com ele. Em particular, o site de instrumentação tem a opção de ignorar o IsEnabled predicado (não chamá-lo) e simplesmente chamar Write(String, Object). Portanto, se o assinante exigir a filtragem, ele precisará fazer sozinho.

Se esse parâmetro for null, nenhuma filtragem será feita (todas as sobrecargas de IsEnabled retorno true).

Aplica-se a

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

Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs
Origem:
DiagnosticListener.cs

Adiciona um assinante e, opcionalmente, filtra eventos com base em seu nome.

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>>

Um assinante.

isEnabled
Predicate<String>

Um delegado que filtra eventos com base em seu nome (String). O delegado deverá retornar true se o evento estiver habilitado.

Retornos

Uma referência a uma interface que permite que o ouvinte para de receber notificações antes que o DiagnosticSource tenha terminado de enviá-las.

Comentários

Se isEnabled não nullfor , alguns eventos não serão interessantes e poderão ser ignorados para eficiência. O isEnabled predicado é uma otimização opcional para permitir que o site de instrumentação evite configurar o conteúdo e chamar Write(String, Object) quando nenhum assinante se importa com ele. Em particular, o site de instrumentação tem a opção de ignorar o IsEnabled() predicado (não chamá-lo) e simplesmente chamar Write(String, Object). Portanto, se o assinante exigir a filtragem, ele precisará fazer sozinho.

Se isEnabled for null, nenhuma filtragem será feita (todas as sobrecargas de IsEnabled retorno true).

Aplica-se a

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

Origem:
DiagnosticSourceActivity.cs
Origem:
DiagnosticSourceActivity.cs
Origem:
DiagnosticSourceActivity.cs

Adiciona um assinante, opcionalmente, filtra eventos com base em seu nome e até dois objetos de contexto e especifica os métodos a serem chamados quando os provedores importam ou exportam atividades de fora do processo.

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>>

Um assinante.

isEnabled
Func<String,Object,Object,Boolean>

Um delegado que filtra eventos com base em seu nome e até dois objetos de contexto (que podem ser null) ou, se um filtro de evento não for desejável, null.

onActivityImport
Action<Activity,Object>

Um delegado de ação que recebe a atividade afetada por um evento externo e um objeto que representa a solicitação de entrada.

onActivityExport
Action<Activity,Object>

Um delegado de ação que recebe a atividade afetada por um evento externo e um objeto que representa a solicitação de saída.

Retornos

Uma referência a uma interface que permite que o ouvinte para de receber notificações antes que o DiagnosticSource tenha terminado de enviá-las.

Comentários

Se isEnabled não for nulo, alguns eventos não serão interessantes poderão ser ignorados para eficiência.

Você também pode fornecer métodos 'onActivityImport' e 'onActivityExport' que são chamados quando provedores importam ou exportam atividades de fora do processo (por exemplo, de solicitações HTTP). Esses métodos são chamados após a importação ou exportação da atividade e podem ser usados para modificar a atividade ou a solicitação de saída para adicionar a política.

Aplica-se a