8 instantiations of ActivityListener
Aspire.Cli.Tests (2)
Microsoft.Extensions.AI.OpenAI.Tests (2)
Microsoft.Extensions.AI.Tests (1)
Microsoft.Extensions.Diagnostics (1)
Stress.ApiService (1)
System.Diagnostics.DiagnosticSource (1)
61 references to ActivityListener
Aspire.Cli.Tests (3)
Microsoft.Extensions.AI.OpenAI.Tests (2)
Microsoft.Extensions.AI.Tests (1)
Microsoft.Extensions.Diagnostics (2)
Microsoft.Extensions.Diagnostics.Abstractions (9)
System.Diagnostics.DiagnosticSource (44)
System\Diagnostics\ActivitySource.cs (33)
16private static readonly SynchronizedList<ActivityListener> s_allListeners = new SynchronizedList<ActivityListener>();
17private static readonly SynchronizedList<ActivityListener> s_disposedListeners = new SynchronizedList<ActivityListener>();
18private SynchronizedList<ActivityListener>? _listeners;
83SynchronizedList<ActivityListener>? listeners = Volatile.Read(ref _listeners);
131SynchronizedList<ActivityListener>? listeners = _listeners;
234SynchronizedList<ActivityListener>? listeners = _listeners;
260listeners.EnumWithFunc((ActivityListener listener, ref ActivityCreationOptions<string> data, ref ActivitySamplingResult result, ref ActivityCreationOptions<ActivityContext> dataWithContext) => {
330listeners.EnumWithFunc((ActivityListener listener, ref ActivityCreationOptions<ActivityContext> data, ref ActivitySamplingResult result, ref ActivityCreationOptions<ActivityContext> unused) => {
383/// <param name="listener"> The <see cref="ActivityListener"/> object to use for listening to the <see cref="Activity"/> events.</param>
384public static void AddActivityListener(ActivityListener listener)
391var shouldListenTo = ((ActivityListener)obj).ShouldListenTo;
394source.AddListener((ActivityListener)obj);
410/// Resets source filters for the <see cref="ActivityListener"/> object to start or stop listening to the <see cref="Activity"/> events based on the listener configuration.
412/// <param name="listener">The <see cref="ActivityListener"/> instance whose configuration, in particular its <see cref="ActivityListener.ShouldListenTo"/> callback, determines which <see cref="ActivitySource"/> instances it should listen to.</param>
413internal static void ResetSourceFilters(ActivityListener listener)
426var ls = (ActivityListener)obj;
474internal void AddListener(ActivityListener listener)
476SynchronizedList<ActivityListener>? listeners = Volatile.Read(ref _listeners);
484SynchronizedList<ActivityListener> newListeners = new SynchronizedList<ActivityListener>();
501internal void RemoveListener(ActivityListener listener)
503SynchronizedList<ActivityListener>? listeners = Volatile.Read(ref _listeners);
512internal static void DetachListener(ActivityListener listener)
515s_activeSources.EnumWithAction((source, obj) => source.RemoveListener((ActivityListener)obj), listener);
523SynchronizedList<ActivityListener>? listeners = _listeners;
536SynchronizedList<ActivityListener>? listeners = _listeners;
549SynchronizedList<ActivityListener>? listeners = _listeners;
652if (typeof(T) != typeof(ActivityListener))
659(item as ActivityListener)!.ExceptionRecorder?.Invoke(activity, exception, ref tags);