Skip to content

Commit c457f1a

Browse files
committed
centralize otel sdk setup
1 parent f6e4a60 commit c457f1a

File tree

5 files changed

+33
-25
lines changed

5 files changed

+33
-25
lines changed

tests/shared/MvvmScarletToolkit.Test.Tracing/Otel/Attributes/TraceTestAttribute.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
using MvvmScarletToolkit.Mediator.Tests.Otel;
21
using MvvmScarletToolkit.Test.Tracing.Otel.Fixtures;
32
using System.Diagnostics;
43
using System.Reflection;
54

65
namespace MvvmScarletToolkit.Test.Tracing.Otel.Attributes
76
{
87
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
9-
public sealed class TraceTestAttribute : BaseTraceTestAttribute
8+
public sealed class TraceTestAttribute : TraceTestAttributeBase
109
{
1110
public bool TracePerTest { get; set; }
1211

tests/shared/MvvmScarletToolkit.Test.Tracing/Otel/BaseTraceTestAttribute.cs renamed to tests/shared/MvvmScarletToolkit.Test.Tracing/Otel/Attributes/TraceTestAttributeBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
using MvvmScarletToolkit.Test.Tracing.Otel.Fixtures;
22
using System.Diagnostics;
33

4-
namespace MvvmScarletToolkit.Mediator.Tests.Otel
4+
namespace MvvmScarletToolkit.Test.Tracing.Otel.Attributes
55
{
6-
public abstract class BaseTraceTestAttribute : BeforeAfterTestAttribute
6+
public abstract class TraceTestAttributeBase : BeforeAfterTestAttribute
77
{
88
internal static Activity? ActivityForTestRun = OpenTelemetryMonitoredFixture.ActivitySource.StartActivity("TestRun");
99
}

tests/shared/MvvmScarletToolkit.Test.Tracing/Otel/Fixtures/OpenTelemetryFixture.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,4 @@ public void Dispose()
1919
_tracerProvider?.Dispose();
2020
}
2121
}
22-
23-
public abstract class OpenTelemetryFixtureBase()
24-
{
25-
protected static TracerProvider CreateTracerProvider(ResourceBuilder builder, string tracerName)
26-
{
27-
return Sdk.CreateTracerProviderBuilder()
28-
.SetResourceBuilder(builder)
29-
.AddSource(tracerName)
30-
.AddHttpClientInstrumentation()
31-
.AddConsoleExporter()
32-
.AddOtlpExporter(o =>
33-
{
34-
o.Endpoint = new Uri("http://localhost:4317");
35-
o.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
36-
})
37-
.Build();
38-
}
39-
}
4022
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using OpenTelemetry;
2+
using OpenTelemetry.Resources;
3+
using OpenTelemetry.Trace;
4+
5+
namespace MvvmScarletToolkit.Test.Tracing.Otel.Fixtures
6+
{
7+
public abstract class OpenTelemetryFixtureBase()
8+
{
9+
protected static TracerProvider CreateTracerProvider(ResourceBuilder builder, string tracerName)
10+
{
11+
return Sdk.CreateTracerProviderBuilder()
12+
.SetResourceBuilder(builder)
13+
.AddSource(tracerName)
14+
.AddHttpClientInstrumentation()
15+
.AddConsoleExporter()
16+
.AddOtlpExporter(o =>
17+
{
18+
o.Endpoint = new Uri("http://localhost:4317");
19+
o.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc;
20+
})
21+
.Build();
22+
}
23+
}
24+
}

tests/shared/MvvmScarletToolkit.Test.Tracing/Otel/Fixtures/OpenTelemetryMonitoredFixture.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
using MvvmScarletToolkit.Mediator.Tests.Otel;
1+
using MvvmScarletToolkit.Test.Tracing.Otel.Attributes;
22
using OpenTelemetry.Resources;
33
using OpenTelemetry.Trace;
44
using System.Diagnostics;
55

66
namespace MvvmScarletToolkit.Test.Tracing.Otel.Fixtures
77
{
8+
/// <summary>
9+
/// This class is created once per assembly
10+
/// </summary>
811
public sealed class OpenTelemetryMonitoredFixture : OpenTelemetryFixtureBase, IDisposable
912
{
10-
public static ActivitySource ActivitySource { get; } = new ActivitySource(TracerName);
13+
internal static ActivitySource ActivitySource { get; } = new ActivitySource(TracerName);
1114

1215
private const string TracerName = "unittest-with-otel";
1316
private readonly TracerProvider _tracerProvider;
@@ -19,7 +22,7 @@ public OpenTelemetryMonitoredFixture()
1922

2023
public void Dispose()
2124
{
22-
BaseTraceTestAttribute.ActivityForTestRun?.Stop();
25+
TraceTestAttributeBase.ActivityForTestRun?.Stop();
2326
_tracerProvider?.ForceFlush();
2427
_tracerProvider?.Dispose();
2528
}

0 commit comments

Comments
 (0)