Sdílet prostřednictvím


DiagnosticListener.Subscribe Metoda

Definice

Tyto metody umožňují přidat odběratele a některé z nich poskytují volitelné metody filtrování událostí.

Přetížení

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

Přidá odběratele.

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

Přidá odběratele a volitelně filtruje události na základě jejich názvu a až dvou kontextových objektů.

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

Přidá odběratele a volitelně filtruje události na základě jejich názvu.

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

Přidá odběratele, volitelně filtruje události na základě jejich názvu a až dvou kontextových objektů a určuje metody volání, když zprostředkovatelé importují nebo exportují aktivity mimo proces.

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

Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs

Přidá odběratele.

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

Parametry

observer
IObserver<KeyValuePair<String,Object>>

Odběratel.

Návraty

Odkaz na rozhraní, které umožňuje, aby naslouchací proces přestal přijímat oznámení dříve, DiagnosticSource než dokončí jejich odesílání.

Implementuje

Platí pro

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

Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs

Přidá odběratele a volitelně filtruje události na základě jejich názvu a až dvou kontextových objektů.

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

Parametry

observer
IObserver<KeyValuePair<String,Object>>

Odběratel.

isEnabled
Func<String,Object,Object,Boolean>

Delegát, který filtruje události na základě jejich názvu a až dvou kontextových objektů (což může být null), nebo null podle toho, jestli filtr událostí není žádoucí.

Návraty

Odkaz na rozhraní, které umožňuje, aby naslouchací proces přestal přijímat oznámení dříve, DiagnosticSource než dokončí jejich odesílání.

Poznámky

Pokud isEnabled není null, znamená to, že některé události nejsou nezajímavé, je možné kvůli efektivitě přeskočit.

Konkrétní lokalita instrumentace má možnost volat jedno nebo více IsEnabled přetížení, ve kterém předá název události a až dva další objekty (specifické pro lokalitu instrumentace) jako argumenty. Pokud se provede některé z těchto IsEnabled volání, je tento isEnabled predikát vyvolán s předanými hodnotami (pokud se používají kratší přetížení, null předá se pro chybějící kontextové objekty).

To dává každému konkrétnímu místu instrumentace možnost předat odběrateli až dvě informace, aby bylo možné provádět sofistikované a efektivní filtrování. To vyžaduje větší vazbu mezi místem instrumentace a kódem odběratele.

Očekává se, že konkrétní lokalita instrumentace může pro stejnou událost volat různá IsEnabled přetížení metody , která nejprve zavolá IsEnabled(String)filtr se dvěma null kontextovými objekty. Pokud isEnabled vrátí truehodnotu , zavolá znovu s kontextovými objekty. Filtr isEnabled by měl být navržen s ohledem na to.

Všimněte si, že isEnabled predikát je volitelná optimalizace, která umožňuje lokalitě instrumentace zabránit nastavení datové části a volání Write(String, Object) , když se o to nezajímá žádný odběratel. Konkrétně má lokalita instrumentace možnost ignorovat IsEnabled predikát (nevolat ho) a jednoduše volat Write(String, Object). Proto pokud odběratel vyžaduje filtrování, musí to udělat sám.

Pokud je nulltento parametr , neprovádí se žádné filtrování (všechna přetížení IsEnabled vrací true).

Platí pro

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

Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs
Zdroj:
DiagnosticListener.cs

Přidá odběratele a volitelně filtruje události na základě jejich názvu.

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

Parametry

observer
IObserver<KeyValuePair<String,Object>>

Odběratel.

isEnabled
Predicate<String>

Delegát, který filtruje události na základě jejich názvu (String). Delegát by se měl vrátit true , pokud je událost povolená.

Návraty

Odkaz na rozhraní, které umožňuje, aby naslouchací proces přestal přijímat oznámení dříve, DiagnosticSource než dokončí jejich odesílání.

Poznámky

Pokud isEnabled není null, jsou některé události nezajímavé a dají se kvůli efektivitě přeskočit. Predikát isEnabled je volitelná optimalizace, která umožňuje lokalitě instrumentace zabránit nastavení datové části a volání Write(String, Object) , když se o to nezajímá žádný odběratel. Zejména lokalita instrumentace má možnost ignorovat IsEnabled() predikát (nevolat ho) a jednoduše volat Write(String, Object). Pokud tedy odběratel vyžaduje filtrování, musí to udělat sám.

Pokud isEnabled je nullhodnota , neprovádí se žádné filtrování (všechna přetížení IsEnabled vrací truehodnotu ).

Platí pro

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

Zdroj:
DiagnosticSourceActivity.cs
Zdroj:
DiagnosticSourceActivity.cs
Zdroj:
DiagnosticSourceActivity.cs

Přidá odběratele, volitelně filtruje události na základě jejich názvu a až dvou kontextových objektů a určuje metody volání, když zprostředkovatelé importují nebo exportují aktivity mimo proces.

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

Parametry

observer
IObserver<KeyValuePair<String,Object>>

Odběratel.

isEnabled
Func<String,Object,Object,Boolean>

Delegát, který filtruje události na základě jejich názvu a až dvou kontextových objektů (což může být null), nebo null pokud filtr událostí není žádoucí.

onActivityImport
Action<Activity,Object>

Delegát akce, který přijímá aktivitu ovlivněnou externí událostí a objekt, který představuje příchozí požadavek.

onActivityExport
Action<Activity,Object>

Delegát akce, který přijímá aktivitu ovlivněnou externí událostí a objekt, který představuje odchozí požadavek.

Návraty

Odkaz na rozhraní, které umožňuje, aby naslouchací proces přestal přijímat oznámení dříve, DiagnosticSource než dokončí jejich odesílání.

Poznámky

Pokud isEnabled není null, některé události jsou nezajímavé, je možné kvůli efektivitě přeskočit.

Můžete také zadat metody onActivityImport a onActivityExport, které se volají, když poskytovatelé importují nebo exportují aktivity mimo proces (například z požadavků HTTP). Tyto metody se volají po importu nebo exportu aktivity a dají se použít k úpravě aktivity nebo odchozího požadavku na přidání zásady.

Platí pro