DiagnosticListener.Subscribe Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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í true
hodnotu , 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 null
tento 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.
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 null
hodnota , neprovádí se žádné filtrování (všechna přetížení IsEnabled vrací true
hodnotu ).
Platí pro
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.
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.
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í.
Delegát akce, který přijímá aktivitu ovlivněnou externí událostí a objekt, který představuje příchozí požadavek.
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.