From 92a20e347a692d0ebd63926d506bb8ff378ced10 Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Sat, 27 Jan 2024 15:33:53 -0500 Subject: [PATCH] Update to common OpenTelemetry package --- Power/Service/Program.cs | 66 +++--------------------------------- Power/Service/Service.csproj | 4 +-- 2 files changed, 5 insertions(+), 65 deletions(-) diff --git a/Power/Service/Program.cs b/Power/Service/Program.cs index 1d0b24d..ef92db0 100644 --- a/Power/Service/Program.cs +++ b/Power/Service/Program.cs @@ -1,16 +1,10 @@ -using ChrisKaczor.HomeMonitor.Power.Service.Data; +using ChrisKaczor.Common.OpenTelemetry; +using ChrisKaczor.HomeMonitor.Power.Service.Data; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.ResponseCompression; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using OpenTelemetry.Exporter; -using OpenTelemetry.Logs; -using OpenTelemetry.Metrics; -using OpenTelemetry.Resources; -using OpenTelemetry.Trace; -using System; using System.IO.Compression; using System.Reflection; @@ -24,62 +18,10 @@ public static class Program builder.Configuration.AddEnvironmentVariables(); + builder.Services.AddCommonOpenTelemetry(Assembly.GetExecutingAssembly().GetName().Name, builder.Configuration["Telemetry:Endpoint"], nameof(PowerReader)); + builder.Services.AddControllers(); - // --- - - var openTelemetry = builder.Services.AddOpenTelemetry(); - - AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); - - var serviceName = Assembly.GetExecutingAssembly().GetName().Name; - - openTelemetry.ConfigureResource(resource => resource.AddService(serviceName!)); - - openTelemetry.WithMetrics(meterProviderBuilder => meterProviderBuilder - .AddAspNetCoreInstrumentation() - .AddHttpClientInstrumentation() - .AddProcessInstrumentation() - .AddMeter("Microsoft.AspNetCore.Hosting") - .AddMeter("Microsoft.AspNetCore.Server.Kestrel")); - - openTelemetry.WithTracing(tracerProviderBuilder => - { - tracerProviderBuilder.AddAspNetCoreInstrumentation(instrumentationOptions => instrumentationOptions.RecordException = true); - - tracerProviderBuilder.AddHttpClientInstrumentation(instrumentationOptions => instrumentationOptions.RecordException = true); - - tracerProviderBuilder.AddSqlClientInstrumentation(o => - { - o.RecordException = true; - o.SetDbStatementForText = true; - }); - - tracerProviderBuilder.AddSource(nameof(PowerReader)); - - tracerProviderBuilder.SetErrorStatusOnException(); - - tracerProviderBuilder.AddOtlpExporter(exporterOptions => - { - exporterOptions.Endpoint = new Uri(builder.Configuration["Telemetry:Endpoint"]!); - exporterOptions.Protocol = OtlpExportProtocol.Grpc; - }); - }); - - builder.Services.AddLogging(loggingBuilder => - { - loggingBuilder.SetMinimumLevel(LogLevel.Information); - loggingBuilder.AddOpenTelemetry(options => - { - options.AddOtlpExporter(exporterOptions => - { - exporterOptions.Endpoint = new Uri(builder.Configuration["Telemetry:Endpoint"]!); - exporterOptions.Protocol = OtlpExportProtocol.Grpc; - }); - } - ); - }); - builder.Services.AddTransient(); builder.Services.AddHostedService(); diff --git a/Power/Service/Service.csproj b/Power/Service/Service.csproj index 0fb7cb6..3a71b7a 100644 --- a/Power/Service/Service.csproj +++ b/Power/Service/Service.csproj @@ -21,13 +21,11 @@ + - - -