Skip to content

Commit

Permalink
PR Feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
kkeirstead committed Mar 4, 2025
1 parent 1d553d3 commit e5ca091
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions src/Tools/dotnet-monitor/ServiceCollectionExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -243,19 +243,22 @@ public static IServiceCollection ConfigureStorage(this IServiceCollection servic

public static IServiceCollection ConfigureCapabilities(this IServiceCollection services, bool noHttpEgress)
{
services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.Metrics });
services.AddSingleton<IPostConfigureOptions<MetricsOptions>, MetricsCapabilityPostConfigureOptions>();
ConfigureCapability<MetricsOptions, MetricsCapabilityPostConfigureOptions>(services, MonitorCapabilityConstants.Metrics);
ConfigureCapability<ExceptionsOptions, ExceptionsCapabilityPostConfigureOptions>(services, MonitorCapabilityConstants.Exceptions);
ConfigureCapability<CallStacksOptions, CallStacksCapabilityPostConfigureOptions>(services, MonitorCapabilityConstants.CallStacks);
ConfigureCapability<ParameterCapturingOptions, ParametersCapabilityPostConfigureOptions>(services, MonitorCapabilityConstants.ParameterCapturing);

services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.Exceptions });
services.AddSingleton<IPostConfigureOptions<ExceptionsOptions>, ExceptionsCapabilityPostConfigureOptions>();

services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.CallStacks });
services.AddSingleton<IPostConfigureOptions<CallStacksOptions>, CallStacksCapabilityPostConfigureOptions>();
services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.HttpEgress, Enabled = !noHttpEgress });

services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.ParameterCapturing });
services.AddSingleton<IPostConfigureOptions<ParameterCapturingOptions>, ParametersCapabilityPostConfigureOptions>();
return services;
}

services.AddSingleton(new MonitorCapability() { Name = MonitorCapabilityConstants.HttpEgress, Enabled = !noHttpEgress });
private static IServiceCollection ConfigureCapability<TOptions, TPostOptions>(this IServiceCollection services, string capabilityName)
where TOptions : class
where TPostOptions : class, IPostConfigureOptions<TOptions>
{
services.AddSingleton(new MonitorCapability() { Name = capabilityName });
services.AddSingleton<IPostConfigureOptions<TOptions>, TPostOptions>();

return services;
}
Expand Down

0 comments on commit e5ca091

Please sign in to comment.