Grafana
This commit is contained in:
@@ -12,7 +12,8 @@ namespace Musify.Infrastructure.Configuration
|
|||||||
.AddValidatedConfiguration<DatabaseConfiguration>(configuration, DatabaseConfiguration.SectionName)
|
.AddValidatedConfiguration<DatabaseConfiguration>(configuration, DatabaseConfiguration.SectionName)
|
||||||
.AddValidatedConfiguration<KeycloakConfiguration>(configuration, KeycloakConfiguration.SectionName)
|
.AddValidatedConfiguration<KeycloakConfiguration>(configuration, KeycloakConfiguration.SectionName)
|
||||||
.AddValidatedConfiguration<InfrastructureStorageConfiguration>(configuration, InfrastructureStorageConfiguration.SectionName)
|
.AddValidatedConfiguration<InfrastructureStorageConfiguration>(configuration, InfrastructureStorageConfiguration.SectionName)
|
||||||
.AddValidatedConfiguration<MessagingConfiguration>(configuration, MessagingConfiguration.SectionName);
|
.AddValidatedConfiguration<MessagingConfiguration>(configuration, MessagingConfiguration.SectionName)
|
||||||
|
.AddValidatedConfiguration<OpenTelemetryConfiguration>(configuration, OpenTelemetryConfiguration.SectionName);
|
||||||
|
|
||||||
return serviceDescriptors;
|
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.Json" Version="10.0.5" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.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="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Musify.Infrastructure.Configuration;
|
||||||
|
using OpenTelemetry.Exporter;
|
||||||
|
using OpenTelemetry.Metrics;
|
||||||
|
using OpenTelemetry.Trace;
|
||||||
|
|
||||||
namespace Musify.Infrastructure.Observability
|
namespace Musify.Infrastructure.Observability
|
||||||
{
|
{
|
||||||
@@ -6,18 +10,27 @@ namespace Musify.Infrastructure.Observability
|
|||||||
{
|
{
|
||||||
public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors)
|
public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors)
|
||||||
{
|
{
|
||||||
|
serviceDescriptors
|
||||||
|
.AddOptions<OtlpExporterOptions>()
|
||||||
|
.Configure<OpenTelemetryConfiguration>((exporterOptions, openTelemetryConfiguration) =>
|
||||||
|
{
|
||||||
|
exporterOptions.Endpoint = new Uri(openTelemetryConfiguration.OtlpEndpoint);
|
||||||
|
} );
|
||||||
|
|
||||||
serviceDescriptors
|
serviceDescriptors
|
||||||
.AddOpenTelemetry()
|
.AddOpenTelemetry()
|
||||||
.WithTracing(tracing =>
|
.WithTracing(tracing =>
|
||||||
{
|
{
|
||||||
tracing.AddSource("MassTransit");
|
tracing.AddSource("MassTransit");
|
||||||
|
tracing.AddOtlpExporter();
|
||||||
} )
|
} )
|
||||||
.WithMetrics(metrics =>
|
.WithMetrics(metrics =>
|
||||||
{
|
{
|
||||||
metrics.AddMeter("MassTransit");
|
metrics.AddMeter("MassTransit");
|
||||||
|
metrics.AddOtlpExporter();
|
||||||
} );
|
} );
|
||||||
|
|
||||||
return serviceDescriptors;
|
return serviceDescriptors;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user