DiagnosticListener.Subscribe Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questi metodi consentono di aggiungere un sottoscrittore e alcuni di essi offrono metodi di filtro degli eventi facoltativi.
Overload
Subscribe(IObserver<KeyValuePair<String,Object>>) |
Aggiunge un sottoscrittore. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) |
Aggiunge un sottoscrittore e facoltativamente filtra gli eventi in base al nome e a un massimo di due contesti di ambiente. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) |
Aggiunge un sottoscrittore e facoltativamente filtra gli eventi in base al nome. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) |
Aggiunge un sottoscrittore, facoltativamente filtra gli eventi in base al nome e a un massimo di due contesti di ambiente e specifica i metodi da chiamare quando i provider importano o esportano attività dall'esterno del processo. |
Subscribe(IObserver<KeyValuePair<String,Object>>)
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
Aggiunge un sottoscrittore.
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
Parametri
- observer
- IObserver<KeyValuePair<String,Object>>
Sottoscrittore.
Restituisce
Riferimento a un'interfaccia che consente ai listener di non ricevere più notifiche prima che DiagnosticSource ne abbia completato l'invio.
Implementazioni
Si applica a
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
Aggiunge un sottoscrittore e facoltativamente filtra gli eventi in base al nome e a un massimo di due contesti di ambiente.
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
Parametri
- observer
- IObserver<KeyValuePair<String,Object>>
Sottoscrittore.
Delegato che filtra gli eventi in base al nome e a un massimo di due contesti di ambiente (che possono essere null
) oppure null
se un filtro eventi non è ottimale.
Restituisce
Riferimento a un'interfaccia che consente ai listener di non ricevere più notifiche prima che DiagnosticSource ne abbia completato l'invio.
Commenti
Se isEnabled
non null
è , indica che alcuni eventi non sono interessati può essere ignorato per l'efficienza.
Un particolare sito di strumentazione ha la possibilità di chiamare uno o più IsEnabled overload in cui passa il nome dell'evento e fino a due altri oggetti (specifici del sito di strumentazione) come argomenti. Se viene eseguita una di queste IsEnabled chiamate, questo isEnabled
predicato viene richiamato con valori passati (se vengono usati overload più brevi, null
viene passato per gli oggetti di contesto mancanti).
Ciò consente a qualsiasi sito di strumentazione particolare di passare fino a due informazioni al sottoscrittore per eseguire filtri sofisticati ed efficienti. Ciò richiede un maggiore accoppiamento tra il sito di strumentazione e il codice del sottoscrittore.
È previsto che un sito di strumentazione specifico possa chiamare overload diversi di IsEnabled
per lo stesso evento, chiamando prima , che chiama IsEnabled(String)il filtro con due null
oggetti di contesto. Se isEnabled
restituisce true
, chiama di nuovo con oggetti di contesto. Il isEnabled
filtro deve essere progettato tenendo presente questo aspetto.
Si noti che il isEnabled
predicato è un'ottimizzazione facoltativa per consentire al sito di strumentazione di evitare di configurare il payload e chiamare Write(String, Object) quando nessun sottoscrittore si preoccupa. In particolare, il sito di strumentazione ha la possibilità di ignorare il IsEnabled predicato (non chiamarlo) e semplicemente chiamando Write(String, Object). Pertanto, se il sottoscrittore richiede il filtro, deve eseguire questa operazione.
Se questo parametro è null
, non viene eseguito alcun filtro (tutti gli overload di IsEnabled restituiscono true
).
Si applica a
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
- Origine:
- DiagnosticListener.cs
Aggiunge un sottoscrittore e facoltativamente filtra gli eventi in base al 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
Parametri
- observer
- IObserver<KeyValuePair<String,Object>>
Sottoscrittore.
Un delegato che filtra gli eventi in base al nome (String). Il delegato deve restituire true
se l'evento è abilitato.
Restituisce
Riferimento a un'interfaccia che consente ai listener di non ricevere più notifiche prima che DiagnosticSource ne abbia completato l'invio.
Commenti
Se isEnabled
non null
è , alcuni eventi non sono interessati e possono essere ignorati per l'efficienza. Il isEnabled
predicato è un'ottimizzazione facoltativa per consentire al sito di strumentazione di evitare di configurare il payload e chiamare Write(String, Object) quando nessun sottoscrittore si preoccupa. In particolare, il sito di strumentazione ha la possibilità di ignorare il IsEnabled() predicato (non chiamarlo) e semplicemente chiamando Write(String, Object). Pertanto, se il sottoscrittore richiede il filtro, deve eseguire questa operazione.
Se isEnabled
è null
, non viene eseguito alcun filtro (tutti gli overload di IsEnabled restituiscono true
).
Si applica a
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)
- Origine:
- DiagnosticSourceActivity.cs
- Origine:
- DiagnosticSourceActivity.cs
- Origine:
- DiagnosticSourceActivity.cs
Aggiunge un sottoscrittore, facoltativamente filtra gli eventi in base al nome e a un massimo di due contesti di ambiente e specifica i metodi da chiamare quando i provider importano o esportano attività dall'esterno del 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
Parametri
- observer
- IObserver<KeyValuePair<String,Object>>
Sottoscrittore.
Delegato che filtra gli eventi in base al nome e a un massimo di due contesti di ambiente (che possono essere null
) oppure null
se un filtro eventi non è ottimale.
Delegato dell'azione che riceve l'attività interessata da un evento esterno e da un oggetto che rappresenta la richiesta in ingresso.
Delegato dell'azione che riceve l'attività interessata da un evento esterno e da un oggetto che rappresenta la richiesta in uscita.
Restituisce
Riferimento a un'interfaccia che consente ai listener di non ricevere più notifiche prima che DiagnosticSource ne abbia completato l'invio.
Commenti
Se isEnabled
è diverso da Null, è possibile ignorare alcuni eventi per l'efficienza.
È anche possibile specificare i metodi "onActivityImport" e "onActivityExport" chiamati quando i provider importano o esportano attività dall'esterno del processo, ad esempio dalle richieste HTTP. Questi metodi vengono chiamati dopo l'importazione o l'esportazione dell'attività e possono essere usati per modificare l'attività o la richiesta in uscita per aggiungere criteri.