This commit is contained in:
2026-05-29 01:48:48 +02:00
parent 874b0d5a81
commit 07eaff5791
4 changed files with 9 additions and 51 deletions
@@ -3,11 +3,7 @@ using Musify.Infrastructure.MassTransit;
using Musify.Infrastructure.Persistence; using Musify.Infrastructure.Persistence;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Infrastructure.Services; using Musify.Infrastructure.Services;
using OpenTelemetry.Logs;
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;
using WebApi.DataTransferObjects.PlayLists; using WebApi.DataTransferObjects.PlayLists;
using WebApi.Options;
namespace WebApi.Extensions; namespace WebApi.Extensions;
@@ -28,27 +24,4 @@ public static class ServiceCollectionExtensions
return services; return services;
} }
public static IServiceCollection AddObservability(this IServiceCollection services, IConfiguration configuration)
{
var otlpEndpoint = new Uri(configuration
.GetRequiredSection(OpenTelemetryOptions.SectionName)
.GetRequiredSection(nameof(OpenTelemetryOptions.OtlpEndpoint))
.Value!);
services.AddOpenTelemetry()
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddOtlpExporter(o => o.Endpoint = otlpEndpoint))
.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddOtlpExporter(o => o.Endpoint = otlpEndpoint));
services.Configure<OpenTelemetryLoggerOptions>(logging =>
logging.AddOtlpExporter(o => o.Endpoint = otlpEndpoint));
return services;
}
} }
-11
View File
@@ -1,11 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace WebApi.Options;
public sealed class OpenTelemetryOptions
{
public const string SectionName = "OpenTelemetry";
[Required]
public string OtlpEndpoint { get; init; } = string.Empty;
}
+2 -1
View File
@@ -1,3 +1,4 @@
using Musify.Infrastructure.Observability;
using Scalar.AspNetCore; using Scalar.AspNetCore;
using WebApi.Endpoints; using WebApi.Endpoints;
using WebApi.Extensions; using WebApi.Extensions;
@@ -6,7 +7,7 @@ var builder = WebApplication.CreateBuilder();
builder.Services builder.Services
.AddApplicationServices(builder.Configuration) .AddApplicationServices(builder.Configuration)
.AddObservability(builder.Configuration); .AddInfrastructureOpenTelemetry(builder.Configuration);
var app = builder.Build(); var app = builder.Build();
+7 -12
View File
@@ -11,12 +11,13 @@
<PackageReference Include="Ardalis.Result" Version="10.1.0" /> <PackageReference Include="Ardalis.Result" Version="10.1.0" />
<PackageReference Include="AWSSDK.S3" Version="4.0.23.4" /> <PackageReference Include="AWSSDK.S3" Version="4.0.23.4" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" /> <PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
<PackageReference Include="MassTransit" Version="9.0.1" /> <PackageReference Include="MassTransit" Version="8.5.9" />
<PackageReference Include="MassTransit.EntityFrameworkCore" Version="9.0.1" /> <PackageReference Include="MassTransit.EntityFrameworkCore" Version="8.5.9" />
<PackageReference Include="MassTransit.RabbitMQ" Version="9.0.1" /> <PackageReference Include="MassTransit.RabbitMQ" Version="8.5.9" />
<PackageReference Include="Mediator.Abstractions" Version="3.0.2" /> <PackageReference Include="Mediator.Abstractions" Version="3.0.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.8" /> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="10.0.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.8" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.2" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.2" />
<PackageReference Include="OpenTelemetry" Version="1.15.3" /> <PackageReference Include="OpenTelemetry" Version="1.15.3" />
<PackageReference Include="OpenTelemetry.Api" Version="1.15.3" /> <PackageReference Include="OpenTelemetry.Api" Version="1.15.3" />
@@ -31,15 +32,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Application"> <ProjectReference Include="..\..\MusifyBackend\Application\Application.csproj" />
<HintPath>..\..\MusifyBackend\Infrastructure\bin\Debug\net10.0\Application.dll</HintPath> <ProjectReference Include="..\..\MusifyBackend\Domain\Domain.csproj" />
</Reference> <ProjectReference Include="..\..\MusifyBackend\Infrastructure\Infrastructure.csproj" />
<Reference Include="Domain">
<HintPath>..\..\MusifyBackend\Infrastructure\bin\Debug\net10.0\Domain.dll</HintPath>
</Reference>
<Reference Include="Infrastructure">
<HintPath>..\..\MusifyBackend\Infrastructure\bin\Debug\net10.0\Infrastructure.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
</Project> </Project>