From 7649542ec78eb0c0b49997bdaac2af5d36dfb750 Mon Sep 17 00:00:00 2001 From: Rick van Dam Date: Sat, 25 May 2024 22:21:01 +0200 Subject: [PATCH] add meter and activitysource --- CleanAspCore/Telemetry/AppConfigurationExtensions.cs | 12 ++++++------ CleanAspCore/Telemetry/Instrumentation.cs | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 CleanAspCore/Telemetry/Instrumentation.cs diff --git a/CleanAspCore/Telemetry/AppConfigurationExtensions.cs b/CleanAspCore/Telemetry/AppConfigurationExtensions.cs index 55e4136..2da79b8 100644 --- a/CleanAspCore/Telemetry/AppConfigurationExtensions.cs +++ b/CleanAspCore/Telemetry/AppConfigurationExtensions.cs @@ -16,21 +16,21 @@ internal static void AddOpenTelemetryServices(this WebApplicationBuilder builder { options.IncludeScopes = true; options.AddProcessor(new EnrichLogsProcessor()); - options - .SetResourceBuilder( - ResourceBuilder.CreateDefault() - .AddService(builder.Environment.ApplicationName)) - .AddOtlpExporter(); + options.AddOtlpExporter(); }); builder.Services.AddOpenTelemetry() - .ConfigureResource(resource => resource.AddService(builder.Environment.ApplicationName)) + .ConfigureResource(resource => resource.AddService( + builder.Environment.ApplicationName, + serviceInstanceId: builder.Environment.IsDevelopment() ? builder.Environment.ApplicationName : null)) .WithTracing(tracing => tracing + .AddSource(Instrumentation.ActivitySource.Name) .AddProcessor(new EnrichSpanProcessor()) .AddAspNetCoreInstrumentation() .AddEntityFrameworkCoreInstrumentation() .AddOtlpExporter()) .WithMetrics(metrics => metrics .AddAspNetCoreInstrumentation() + .AddMeter(Instrumentation.Meter.Name) .AddOtlpExporter()); } } diff --git a/CleanAspCore/Telemetry/Instrumentation.cs b/CleanAspCore/Telemetry/Instrumentation.cs new file mode 100644 index 0000000..a64a345 --- /dev/null +++ b/CleanAspCore/Telemetry/Instrumentation.cs @@ -0,0 +1,10 @@ +using System.Diagnostics; +using System.Diagnostics.Metrics; + +namespace CleanAspCore.Telemetry; + +internal static class Instrumentation +{ + internal static readonly Meter Meter = new("CleanAspCore", "1.0.0"); + internal static readonly ActivitySource ActivitySource = new("CleanAspCore", "1.0.0"); +}