From 285b93a9be5cda8d6049872cfcbcf419da6bd5f0 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Fri, 20 Mar 2026 22:28:32 +0100 Subject: [PATCH] Grafana --- .../ConfigurationDependencyInjection.cs | 3 ++- .../Configuration/OpenTelemetryConfiguration.cs | 13 +++++++++++++ Infrastructure/Infrastructure.csproj | 1 + .../OpenTelemetryDependencyInjection.cs | 15 ++++++++++++++- 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 Infrastructure/Configuration/OpenTelemetryConfiguration.cs diff --git a/Infrastructure/Configuration/ConfigurationDependencyInjection.cs b/Infrastructure/Configuration/ConfigurationDependencyInjection.cs index 0310508..10a6be7 100644 --- a/Infrastructure/Configuration/ConfigurationDependencyInjection.cs +++ b/Infrastructure/Configuration/ConfigurationDependencyInjection.cs @@ -12,7 +12,8 @@ namespace Musify.Infrastructure.Configuration .AddValidatedConfiguration(configuration, DatabaseConfiguration.SectionName) .AddValidatedConfiguration(configuration, KeycloakConfiguration.SectionName) .AddValidatedConfiguration(configuration, InfrastructureStorageConfiguration.SectionName) - .AddValidatedConfiguration(configuration, MessagingConfiguration.SectionName); + .AddValidatedConfiguration(configuration, MessagingConfiguration.SectionName) + .AddValidatedConfiguration(configuration, OpenTelemetryConfiguration.SectionName); return serviceDescriptors; } diff --git a/Infrastructure/Configuration/OpenTelemetryConfiguration.cs b/Infrastructure/Configuration/OpenTelemetryConfiguration.cs new file mode 100644 index 0000000..ad7a232 --- /dev/null +++ b/Infrastructure/Configuration/OpenTelemetryConfiguration.cs @@ -0,0 +1,13 @@ +using System.ComponentModel.DataAnnotations; + +namespace Musify.Infrastructure.Configuration +{ + public class OpenTelemetryConfiguration + { + public const string SectionName = "OpenTelemetry"; + + [Required] + [Url] + public required string OtlpEndpoint { get; set; } + } +} diff --git a/Infrastructure/Infrastructure.csproj b/Infrastructure/Infrastructure.csproj index a813415..d26a09e 100644 --- a/Infrastructure/Infrastructure.csproj +++ b/Infrastructure/Infrastructure.csproj @@ -22,6 +22,7 @@ + diff --git a/Infrastructure/Observability/OpenTelemetryDependencyInjection.cs b/Infrastructure/Observability/OpenTelemetryDependencyInjection.cs index 4618185..67b30d5 100644 --- a/Infrastructure/Observability/OpenTelemetryDependencyInjection.cs +++ b/Infrastructure/Observability/OpenTelemetryDependencyInjection.cs @@ -1,4 +1,8 @@ using Microsoft.Extensions.DependencyInjection; +using Musify.Infrastructure.Configuration; +using OpenTelemetry.Exporter; +using OpenTelemetry.Metrics; +using OpenTelemetry.Trace; namespace Musify.Infrastructure.Observability { @@ -6,18 +10,27 @@ namespace Musify.Infrastructure.Observability { public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors) { + serviceDescriptors + .AddOptions() + .Configure((exporterOptions, openTelemetryConfiguration) => + { + exporterOptions.Endpoint = new Uri(openTelemetryConfiguration.OtlpEndpoint); + } ); + serviceDescriptors .AddOpenTelemetry() .WithTracing(tracing => { tracing.AddSource("MassTransit"); + tracing.AddOtlpExporter(); } ) .WithMetrics(metrics => { metrics.AddMeter("MassTransit"); + metrics.AddOtlpExporter(); } ); return serviceDescriptors; } } -} +} \ No newline at end of file