Grafana
This commit is contained in:
@@ -12,7 +12,8 @@ namespace Musify.Infrastructure.Configuration
|
||||
.AddValidatedConfiguration<DatabaseConfiguration>(configuration, DatabaseConfiguration.SectionName)
|
||||
.AddValidatedConfiguration<KeycloakConfiguration>(configuration, KeycloakConfiguration.SectionName)
|
||||
.AddValidatedConfiguration<InfrastructureStorageConfiguration>(configuration, InfrastructureStorageConfiguration.SectionName)
|
||||
.AddValidatedConfiguration<MessagingConfiguration>(configuration, MessagingConfiguration.SectionName);
|
||||
.AddValidatedConfiguration<MessagingConfiguration>(configuration, MessagingConfiguration.SectionName)
|
||||
.AddValidatedConfiguration<OpenTelemetryConfiguration>(configuration, OpenTelemetryConfiguration.SectionName);
|
||||
|
||||
return serviceDescriptors;
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.1" />
|
||||
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />
|
||||
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -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,15 +10,24 @@ namespace Musify.Infrastructure.Observability
|
||||
{
|
||||
public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors)
|
||||
{
|
||||
serviceDescriptors
|
||||
.AddOptions<OtlpExporterOptions>()
|
||||
.Configure<OpenTelemetryConfiguration>((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;
|
||||
|
||||
Reference in New Issue
Block a user