DiagnosticListener.Subscribe Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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 null
for , 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.
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 null
for , 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.
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
.
Um delegado de ação que recebe a atividade afetada por um evento externo e um objeto que representa a solicitação de entrada.
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.