DiagnosticListener.Subscribe Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Te metody umożliwiają dodawanie subskrybenta, a niektóre z nich zapewniają opcjonalne metody filtrowania zdarzeń.
Przeciążenia
Subscribe(IObserver<KeyValuePair<String,Object>>) |
Dodaje subskrybenta. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) |
Dodaje subskrybenta i opcjonalnie filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) |
Dodaje subskrybenta i opcjonalnie filtruje zdarzenia na podstawie ich nazwy. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) |
Dodaje subskrybenta, opcjonalnie filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu i określa metody wywoływania, gdy dostawcy importują lub eksportują aktywacje spoza procesu. |
Subscribe(IObserver<KeyValuePair<String,Object>>)
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
Dodaje subskrybenta.
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>>
Subskrybent.
Zwraca
Odwołanie do interfejsu, który umożliwia odbiornikowi zaprzestanie odbierania powiadomień przed zakończeniem ich wysyłania DiagnosticSource .
Implementuje
Dotyczy
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
Dodaje subskrybenta i opcjonalnie filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu.
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>>
Subskrybent.
Delegat, który filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu (które mogą być null
), lub null
, jeśli filtr zdarzeń nie jest pożądany.
Zwraca
Odwołanie do interfejsu, który umożliwia odbiornikowi zaprzestanie odbierania powiadomień przed zakończeniem ich wysyłania DiagnosticSource .
Uwagi
Jeśli isEnabled
nie null
jest , oznacza to, że niektóre zdarzenia są nieinteresujące, można pominąć pod kątem wydajności.
Określona lokacja instrumentacji ma możliwość wywołania co najmniej jednego IsEnabled przeciążenia, w którym przekazuje nazwę zdarzenia i maksymalnie dwa inne (specyficzne dla lokacji instrumentacji) obiekty jako argumenty. Jeśli którekolwiek z tych IsEnabled wywołań jest wykonywane, ten isEnabled
predykat jest wywoływany z przekazanymi wartościami (jeśli są używane krótsze przeciążenia, null
jest przekazywany dla brakujących obiektów kontekstu).
Dzięki temu każda konkretna lokacja instrumentacji umożliwia przekazywanie do subskrybenta maksymalnie dwóch informacji w celu przeprowadzenia zaawansowanego, wydajnego filtrowania. Wymaga to większego sprzężenia między lokacją instrumentacji a kodem subskrybenta.
Oczekuje się, że określona lokacja instrumentacji może wywoływać różne przeciążenia IsEnabled
dla tego samego zdarzenia, najpierw wywołując metodę IsEnabled(String), która wywołuje filtr z dwoma null
obiektami kontekstu. Jeśli isEnabled
zwraca true
wartość , wywołuje ponownie obiekty kontekstowe. Filtr isEnabled
powinien być zaprojektowany z myślą o tym.
Należy pamiętać, że isEnabled
predykat jest opcjonalną optymalizacją umożliwiającą witrynie instrumentacji unikanie konfigurowania ładunku i wywoływania Write(String, Object) , gdy żaden subskrybent nie dba o to. W szczególności lokacja instrumentacji ma możliwość ignorowania IsEnabled predykatu (nie nazywając go) i po prostu wywołania Write(String, Object)metody . W związku z tym, jeśli subskrybent wymaga filtrowania, musi zrobić to samo.
Jeśli ten parametr to null
, nie jest wykonywane filtrowanie (wszystkie przeciążenia zwracanetrue
IsEnabled).
Dotyczy
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
- Źródło:
- DiagnosticListener.cs
Dodaje subskrybenta i opcjonalnie filtruje zdarzenia na podstawie ich nazwy.
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>>
Subskrybent.
Delegat, który filtruje zdarzenia na podstawie ich nazwy (String). Delegat powinien zwrócić, true
jeśli zdarzenie jest włączone.
Zwraca
Odwołanie do interfejsu, który umożliwia odbiornikowi zaprzestanie odbierania powiadomień przed zakończeniem ich wysyłania DiagnosticSource .
Uwagi
Jeśli isEnabled
nie null
jest , niektóre zdarzenia są nieinteresujące i można pominąć w celu zwiększenia wydajności. Predykat isEnabled
jest opcjonalną optymalizacją umożliwiającą witrynie instrumentacji uniknięcie konfigurowania ładunku i wywoływania Write(String, Object) , gdy żaden subskrybent nie dba o to. W szczególności lokacja instrumentacji ma możliwość ignorowania IsEnabled() predykatu (nie wywołując go) i po prostu wywołania Write(String, Object)metody . W związku z tym, jeśli subskrybent wymaga filtrowania, musi zrobić to samo.
Jeśli isEnabled
jest to null
, nie jest wykonywane filtrowanie (wszystkie przeciążenia zwracane IsEnabledtrue
).
Dotyczy
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)
- Źródło:
- DiagnosticSourceActivity.cs
- Źródło:
- DiagnosticSourceActivity.cs
- Źródło:
- DiagnosticSourceActivity.cs
Dodaje subskrybenta, opcjonalnie filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu i określa metody wywoływania, gdy dostawcy importują lub eksportują aktywacje spoza procesu.
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>>
Subskrybent.
Delegat, który filtruje zdarzenia na podstawie ich nazwy i maksymalnie dwóch obiektów kontekstu (które mogą być null
), lub null
jeśli filtr zdarzeń nie jest pożądany.
Delegat akcji, który odbiera działanie, na które ma wpływ zdarzenie zewnętrzne i obiekt reprezentujący żądanie przychodzące.
Delegat akcji, który odbiera działanie, na które ma wpływ zdarzenie zewnętrzne i obiekt reprezentujący żądanie wychodzące.
Zwraca
Odwołanie do interfejsu, który umożliwia odbiornikowi zaprzestanie odbierania powiadomień przed zakończeniem ich wysyłania DiagnosticSource .
Uwagi
Jeśli isEnabled
nie ma wartości null, niektóre zdarzenia są nieinteresujące można pominąć w celu zwiększenia wydajności.
Można również podać metody "onActivityImport" i "onActivityExport", które są wywoływane podczas importowania lub eksportowania działań przez dostawców spoza procesu (na przykład z żądań HTTP). Te metody są wywoływane po zaimportowaniu lub wyeksportowaniu działania i mogą służyć do modyfikowania działania lub żądania wychodzącego w celu dodania zasad.