Skip to content

Commit 65cbca0

Browse files
committed
Change to use ActivitySource
1 parent 182bbf6 commit 65cbca0

File tree

6 files changed

+22
-74
lines changed

6 files changed

+22
-74
lines changed

src/Foundatio.TestHarness/Queue/QueueTestBase.cs

+8-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using Foundatio.Queues;
1010
using Foundatio.Tests.Extensions;
1111
using Foundatio.Utility;
12-
using Foundatio.Diagnostics;
1312
using System;
1413
using System.Collections.Generic;
1514
using System.Diagnostics;
@@ -90,7 +89,14 @@ public virtual async Task CanUseQueueOptionsAsync() {
9089
return;
9190

9291
try {
93-
QueuesDiagnosticSource.ListenToProcessQueueEntry(o => _logger.LogInformation("OnStart"), o => _logger.LogInformation("OnStop"));
92+
using var listener = new ActivityListener {
93+
ShouldListenTo = s => s.Name == "Foundatio",
94+
Sample = (ref ActivityCreationOptions<ActivityContext> _) => ActivitySamplingResult.AllData,
95+
ActivityStarted = activity => _logger.LogInformation("Start: " + activity.DisplayName),
96+
ActivityStopped = activity => _logger.LogInformation("Stop: " + activity.DisplayName)
97+
};
98+
99+
ActivitySource.AddActivityListener(listener);
94100

95101
await queue.DeleteQueueAsync();
96102
await AssertEmptyQueueAsync(queue);

src/Foundatio/Queues/QueueBase.cs

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Diagnostics;
44
using System.Linq;
55
using System.Threading;
66
using System.Threading.Tasks;
7-
using Foundatio.Diagnostics;
87
using Foundatio.Serializer;
98
using Foundatio.Utility;
109
using Microsoft.Extensions.Logging;
@@ -123,16 +122,15 @@ protected virtual Task OnEnqueuedAsync(IQueueEntry<T> entry) {
123122
public AsyncEvent<DequeuedEventArgs<T>> Dequeued { get; } = new AsyncEvent<DequeuedEventArgs<T>>(true);
124123

125124
protected virtual void StartProcessQueueEntryActivity(IQueueEntry<T> entry) {
126-
if (!QueuesDiagnosticSource.Logger.IsEnabled("ProcessQueueEntry") || !QueuesDiagnosticSource.Logger.IsEnabled("ProcessQueueEntry", entry))
125+
var activity = FoundatioDiagnostics.ActivitySource.StartActivity("ProcessQueueEntry", ActivityKind.Internal);
126+
if (activity == null)
127127
return;
128128

129-
var activity = new Activity("ProcessQueueEntry");
130129
activity.AddTag("Id", entry.Id);
131130
if (!String.IsNullOrEmpty(entry.CorrelationId))
132131
activity.SetParentId(entry.CorrelationId);
133132

134133
EnrichProcessQueueEntryActivity(activity, entry);
135-
QueuesDiagnosticSource.Logger.StartActivity(activity, entry);
136134

137135
entry.Properties["@Activity"] = activity;
138136
}
@@ -144,7 +142,7 @@ protected virtual void StopProcessQueueEntryActivity(IQueueEntry<T> entry) {
144142
return;
145143

146144
entry.Properties.Remove("@Activity");
147-
QueuesDiagnosticSource.Logger.StopActivity(activity, entry);
145+
activity.Stop();
148146
}
149147

150148
protected virtual Task OnDequeuedAsync(IQueueEntry<T> entry) {

src/Foundatio/Utility/DiagnosticActivityListener.cs

-11
This file was deleted.

src/Foundatio/Utility/DiagnosticActivitySubscriber.cs

-43
This file was deleted.

src/Foundatio/Utility/FoundatioDiagnosticSource.cs

-12
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
using System;
2+
using System.Diagnostics;
3+
using System.Reflection;
4+
5+
namespace Foundatio {
6+
internal static class FoundatioDiagnostics {
7+
private static readonly AssemblyName AssemblyName = typeof(FoundatioDiagnostics).Assembly.GetName();
8+
internal static readonly ActivitySource ActivitySource = new(AssemblyName.Name, AssemblyName.Version.ToString());
9+
}
10+
}

0 commit comments

Comments
 (0)