Bagikan melalui


DiagnosticListener.Subscribe Metode

Definisi

Metode ini memungkinkan penambahan pelanggan, dan beberapa di antaranya menyediakan metode pemfilteran peristiwa opsional.

Overload

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

Menambahkan pelanggan.

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

Menambahkan pelanggan, dan secara opsional memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks.

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

Menambahkan pelanggan, dan secara opsional memfilter peristiwa berdasarkan namanya.

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

Menambahkan pelanggan, secara opsional memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks, dan menentukan metode untuk dipanggil saat penyedia mengimpor atau mengekspor aktivitas dari luar proses.

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

Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs

Menambahkan pelanggan.

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

Parameter

observer
IObserver<KeyValuePair<String,Object>>

Pelanggan.

Mengembalikan

Referensi ke antarmuka yang memungkinkan pendengar berhenti menerima pemberitahuan sebelum DiagnosticSource selesai mengirimnya.

Penerapan

Berlaku untuk

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

Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs

Menambahkan pelanggan, dan secara opsional memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks.

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

Parameter

observer
IObserver<KeyValuePair<String,Object>>

Pelanggan.

isEnabled
Func<String,Object,Object,Boolean>

Delegasi yang memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks (yang bisa null), atau null jika filter peristiwa tidak diinginkan.

Mengembalikan

Referensi ke antarmuka yang memungkinkan pendengar berhenti menerima pemberitahuan sebelum DiagnosticSource selesai mengirimnya.

Keterangan

Jika isEnabled tidak null, itu menunjukkan bahwa beberapa peristiwa tidak tertarik dapat dilewati untuk efisiensi.

Situs instrumentasi tertentu memiliki opsi untuk memanggil satu atau beberapa IsEnabled kelebihan beban di mana ia meneruskan nama peristiwa dan hingga dua objek lainnya (khusus situs instrumentasi) sebagai argumen. Jika salah satu panggilan ini IsEnabled dilakukan maka predikat ini isEnabled dipanggil dengan nilai yang diteruskan (jika kelebihan beban yang lebih pendek digunakan, null diteruskan untuk objek konteks yang hilang).

Ini memberi situs instrumentasi tertentu kemampuan untuk meneruskan hingga dua informasi kepada pelanggan untuk melakukan pemfilteran yang canggih dan efisien. Ini membutuhkan lebih banyak koupling antara situs instrumentasi dan kode pelanggan.

Diharapkan bahwa situs instrumentasi tertentu dapat memanggil kelebihan beban IsEnabled yang berbeda untuk peristiwa yang sama, pertama memanggil IsEnabled(String), yang memanggil filter dengan dua null objek konteks. Jika isEnabled mengembalikan true, ia memanggil lagi dengan objek konteks. Filter isEnabled harus dirancang dengan ingat ini.

Perhatikan bahwa isEnabled predikat adalah pengoptimalan opsional untuk memungkinkan situs instrumentasi menghindari pengaturan payload dan panggilan Write(String, Object) ketika tidak ada pelanggan yang peduli tentang hal itu. Secara khusus, situs instrumentasi memiliki opsi untuk mengabaikan IsEnabled predikat (tidak memanggilnya) dan hanya memanggil Write(String, Object). Dengan demikian, jika pelanggan memerlukan pemfilteran, pelanggan perlu melakukannya sendiri.

Jika parameter ini adalah null, tidak ada pemfilteran yang dilakukan (semua kelebihan beban IsEnabled pengembalian true).

Berlaku untuk

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

Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs
Sumber:
DiagnosticListener.cs

Menambahkan pelanggan, dan secara opsional memfilter peristiwa berdasarkan namanya.

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

Parameter

observer
IObserver<KeyValuePair<String,Object>>

Pelanggan.

isEnabled
Predicate<String>

Delegasi yang memfilter peristiwa berdasarkan namanya (String). Delegasi harus kembali true jika peristiwa diaktifkan.

Mengembalikan

Referensi ke antarmuka yang memungkinkan pendengar berhenti menerima pemberitahuan sebelum DiagnosticSource selesai mengirimnya.

Keterangan

Jika isEnabled tidak null, beberapa peristiwa tidak tertarik dan dapat dilewati untuk efisiensi. isEnabled Predikat adalah pengoptimalan opsional untuk memungkinkan situs instrumentasi menghindari pengaturan payload dan panggilan Write(String, Object) ketika tidak ada pelanggan yang peduli tentang hal itu. Khususnya situs instrumentasi memiliki opsi untuk mengabaikan IsEnabled() predikat (tidak memanggilnya) dan hanya memanggil Write(String, Object). Dengan demikian, jika pelanggan memerlukan pemfilteran, pelanggan perlu melakukannya sendiri.

Jika isEnabled adalah null, tidak ada pemfilteran yang dilakukan (semua kelebihan beban IsEnabled pengembalian true).

Berlaku untuk

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

Sumber:
DiagnosticSourceActivity.cs
Sumber:
DiagnosticSourceActivity.cs
Sumber:
DiagnosticSourceActivity.cs

Menambahkan pelanggan, secara opsional memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks, dan menentukan metode untuk dipanggil saat penyedia mengimpor atau mengekspor aktivitas dari luar proses.

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

Parameter

observer
IObserver<KeyValuePair<String,Object>>

Pelanggan.

isEnabled
Func<String,Object,Object,Boolean>

Delegasi yang memfilter peristiwa berdasarkan namanya dan hingga dua objek konteks (yang bisa null), atau null jika filter peristiwa tidak diinginkan.

onActivityImport
Action<Activity,Object>

Delegasi tindakan yang menerima aktivitas yang terpengaruh oleh peristiwa eksternal dan objek yang mewakili permintaan masuk.

onActivityExport
Action<Activity,Object>

Delegasi tindakan yang menerima aktivitas yang terpengaruh oleh peristiwa eksternal dan objek yang mewakili permintaan keluar.

Mengembalikan

Referensi ke antarmuka yang memungkinkan pendengar berhenti menerima pemberitahuan sebelum DiagnosticSource selesai mengirimnya.

Keterangan

Jika isEnabled non-null, beberapa peristiwa tidak tertarik dapat dilewati untuk efisiensi.

Anda juga dapat menyediakan metode 'onActivityImport' dan 'onActivityExport' yang dipanggil saat penyedia mengimpor atau mengekspor aktivitas dari luar proses (misalnya, dari permintaan HTTP). Metode ini dipanggil setelah mengimpor atau mengekspor aktivitas dan dapat digunakan untuk memodifikasi aktivitas atau permintaan keluar untuk menambahkan kebijakan.

Berlaku untuk