< Summary

Information
Class: Elsa.Diagnostics.OpenTelemetry.Extensions.ServiceCollectionExtensions
Assembly: Elsa.Diagnostics.OpenTelemetry
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.OpenTelemetry/Extensions/ServiceCollectionExtensions.cs
Line coverage
100%
Covered lines: 15
Uncovered lines: 0
Coverable lines: 15
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddOpenTelemetryDiagnosticsServices(...)100%22100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Diagnostics.OpenTelemetry/Extensions/ServiceCollectionExtensions.cs

#LineLine coverage
 1using Elsa.Diagnostics.OpenTelemetry.Contracts;
 2using Elsa.Diagnostics.OpenTelemetry.Options;
 3using Elsa.Diagnostics.OpenTelemetry.Providers.InMemory;
 4using Elsa.Diagnostics.OpenTelemetry.RealTime;
 5using Elsa.Diagnostics.OpenTelemetry.Services;
 6using Microsoft.Extensions.DependencyInjection;
 7using Microsoft.Extensions.DependencyInjection.Extensions;
 8
 9namespace Elsa.Diagnostics.OpenTelemetry.Extensions;
 10
 11public static class ServiceCollectionExtensions
 12{
 13    public static IServiceCollection AddOpenTelemetryDiagnosticsServices(this IServiceCollection services, Action<OpenTe
 14    {
 615        if (configureOptions != null)
 616            services.Configure(configureOptions);
 17
 618        services.AddSignalR();
 619        services.AddOptions<OpenTelemetryDiagnosticsOptions>();
 620        services.TryAddSingleton<IOpenTelemetrySourceRegistry, OpenTelemetrySourceRegistry>();
 621        services.TryAddSingleton<IOpenTelemetryRedactor, OpenTelemetryRedactor>();
 622        services.TryAddSingleton<InMemoryOpenTelemetryStore>();
 1223        services.TryAddSingleton<IOpenTelemetryStore>(sp => sp.GetRequiredService<InMemoryOpenTelemetryStore>());
 624        services.TryAddSingleton<InMemoryOpenTelemetryLiveFeed>();
 1225        services.TryAddSingleton<IOpenTelemetryLiveFeed>(sp => sp.GetRequiredService<InMemoryOpenTelemetryLiveFeed>());
 626        services.TryAddSingleton<IOpenTelemetryIngestor, OpenTelemetryIngestor>();
 627        services.TryAddSingleton<IOpenTelemetryProvider, DefaultOpenTelemetryProvider>();
 628        services.TryAddSingleton<ICollectorConfigurationProvider, CollectorConfigurationProvider>();
 629        services.TryAddSingleton<OpenTelemetrySubscriptionManager>();
 30
 631        return services;
 32    }
 33}