Files
Core.Thalos.BuildingBlocks/Core.Thalos.BuildingBlocks/Extensions/TelemetryExtensions.cs

23 lines
834 B
C#

using Microsoft.Extensions.DependencyInjection;
using OpenTelemetry.Logs;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
namespace Core.Thalos.BuildingBlocks.Configuration
{
public static class TelemetryExtensions
{
public static void AddTelemetry(this IServiceCollection services, string apiName)
{
// Add OpenTelemetry Tracing
services.AddOpenTelemetry()
.ConfigureResource(resource => resource.AddService($"{apiName}"))
.WithTracing(tracing => tracing.AddAspNetCoreInstrumentation().AddConsoleExporter())
.WithMetrics(metrics => metrics.AddAspNetCoreInstrumentation().AddConsoleExporter()).
WithLogging(logs => logs.AddConsoleExporter());
}
}
}