diff --git a/.gitignore b/.gitignore index ce89292..ae9b107 100644 --- a/.gitignore +++ b/.gitignore @@ -416,3 +416,5 @@ FodyWeavers.xsd *.msix *.msm *.msp +**/.idea/ +**/.DS_Store diff --git a/BaselineApp/OnlineShop/OnlineShop.ApiService/Program.cs b/BaselineApp/OnlineShop/OnlineShop.ApiService/Program.cs index 570ff49..cd1ff2a 100644 --- a/BaselineApp/OnlineShop/OnlineShop.ApiService/Program.cs +++ b/BaselineApp/OnlineShop/OnlineShop.ApiService/Program.cs @@ -1,3 +1,5 @@ +using OnlineShop.ServiceDefaults; + var builder = WebApplication.CreateBuilder(args); // Add service defaults & Aspire client integrations. diff --git a/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/Extensions.cs b/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/Extensions.cs index b72c875..fb02fe2 100644 --- a/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/Extensions.cs +++ b/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/Extensions.cs @@ -2,13 +2,13 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Diagnostics.HealthChecks; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.ServiceDiscovery; using OpenTelemetry; using OpenTelemetry.Metrics; using OpenTelemetry.Trace; -namespace Microsoft.Extensions.Hosting; +namespace OnlineShop.ServiceDefaults; // Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. @@ -44,7 +44,7 @@ public static class Extensions return builder; } - public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder + private static void ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder { builder.Logging.AddOpenTelemetry(logging => { @@ -59,12 +59,12 @@ public static class Extensions .AddHttpClientInstrumentation() .AddRuntimeInstrumentation(); }) - .WithTracing(tracing => + .WithTracing(tracerProviderBuilder => { - tracing.AddSource(builder.Environment.ApplicationName) - .AddAspNetCoreInstrumentation(tracing => + tracerProviderBuilder.AddSource(builder.Environment.ApplicationName) + .AddAspNetCoreInstrumentation(traceInstrumentationOptions => // Exclude health check requests from tracing - tracing.Filter = context => + traceInstrumentationOptions.Filter = context => !context.Request.Path.StartsWithSegments(HealthEndpointPath) && !context.Request.Path.StartsWithSegments(AlivenessEndpointPath) ) @@ -74,11 +74,9 @@ public static class Extensions }); builder.AddOpenTelemetryExporters(); - - return builder; } - private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder + private static void AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder { var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]); @@ -93,17 +91,13 @@ public static class Extensions // builder.Services.AddOpenTelemetry() // .UseAzureMonitor(); //} - - return builder; } - public static TBuilder AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder + private static void AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder { builder.Services.AddHealthChecks() // Add a default liveness check to ensure app is responsive .AddCheck("self", () => HealthCheckResult.Healthy(), ["live"]); - - return builder; } public static WebApplication MapDefaultEndpoints(this WebApplication app) diff --git a/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/OnlineShop.ServiceDefaults.csproj b/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/OnlineShop.ServiceDefaults.csproj index 0eaff94..76f8639 100644 --- a/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/OnlineShop.ServiceDefaults.csproj +++ b/BaselineApp/OnlineShop/OnlineShop.ServiceDefaults/OnlineShop.ServiceDefaults.csproj @@ -12,7 +12,7 @@ - + diff --git a/BaselineApp/OnlineShop/OnlineShop.Web/Program.cs b/BaselineApp/OnlineShop/OnlineShop.Web/Program.cs index 3e6891c..1ccac32 100644 --- a/BaselineApp/OnlineShop/OnlineShop.Web/Program.cs +++ b/BaselineApp/OnlineShop/OnlineShop.Web/Program.cs @@ -1,3 +1,4 @@ +using OnlineShop.ServiceDefaults; using OnlineShop.Web; using OnlineShop.Web.Components;