/// <summary> /// Allows registration of health checks with the <see cref="IHealthCheckRegistry"/>. /// </summary> /// <param name="healthChecksBuilder">The <see cref="IAppMetricsHealthChecksBuilder"/> healthChecksBuilder.</param> /// <param name="setupAction">The <see cref="IHealthCheckRegistry"/> setup action allowing health checks to be regsitered.</param> /// <returns>The <see cref="IAppMetricsHealthChecksBuilder"/></returns> public static IAppMetricsHealthChecksBuilder AddChecks(this IAppMetricsHealthChecksBuilder healthChecksBuilder, Action <IHealthCheckRegistry> setupAction) { healthChecksBuilder.Services.TryAddSingleton <HealthCheckFluentMarkerService>(); healthChecksBuilder.Services.Replace(ServiceDescriptor.Singleton(provider => RegisterHealthCheckRegistry(provider, setupAction))); return(healthChecksBuilder); }
public static IAppMetricsHealthChecksBuilder AddHealthCheckMiddleware( this IAppMetricsHealthChecksBuilder checksBuilder, Action <AppMetricsMiddlewareHealthChecksOptions> setupOptionsAction, Action <IAppMetricsMiddlewareHealthChecksOptionsBuilder> setupMiddlewareOptionsAction) { checksBuilder.Services.Configure(setupOptionsAction); return(checksBuilder.AddMetricsMiddlewareHealthChecksCore(setupMiddlewareOptionsAction)); }
internal static IAppMetricsHealthChecksBuilder AddRequiredPlatformServices(this IAppMetricsHealthChecksBuilder checksBuilder) { checksBuilder.Services.TryAddSingleton <HealthCheckMarkerService>(); checksBuilder.Services.AddOptions(); checksBuilder.Services.TryAddSingleton(resolver => resolver.GetRequiredService <IOptions <AppMetricsHealthOptions> >().Value); checksBuilder.Services.TryAddSingleton <IConfigureOptions <AppMetricsHealthOptions>, ConfigureAppMetricsHealthOptions>(); checksBuilder.Services.Replace(ServiceDescriptor.Singleton(provider => RegisterHealthCheckRegistry(provider))); return(checksBuilder); }
// ReSharper disable UnusedMethodReturnValue.Global // ReSharper disable MemberCanBePrivate.Global internal static IAppMetricsHealthChecksBuilder AddCoreServices(this IAppMetricsHealthChecksBuilder checksBuilder) // ReSharper restore MemberCanBePrivate.Global // ReSharper restore UnusedMethodReturnValue.Global { HealthChecksAsServices.AddHealthChecksAsServices( checksBuilder.Services, DefaultMetricsAssemblyDiscoveryProvider.DiscoverAssemblies(checksBuilder.Environment.ApplicationName)); checksBuilder.Services.TryAddSingleton <IProvideHealth, DefaultHealthProvider>(); return(checksBuilder); }
private static IAppMetricsHealthChecksBuilder AddMetricsMiddlewareHealthChecksCore( this IAppMetricsHealthChecksBuilder checksBuilder, Action <IAppMetricsMiddlewareHealthChecksOptionsBuilder> setupMiddleware) { setupMiddleware(checksBuilder.AddAppMetricsMiddlewareHealthChecksBuilder()); checksBuilder.Services.TryAddSingleton <IHealthResponseWriter, NoOpHealthStatusResponseWriter>(); checksBuilder.Services.TryAddSingleton <AppMetricsMiddlewareHealthChecksMarkerService, AppMetricsMiddlewareHealthChecksMarkerService>(); checksBuilder.Services.AddSingleton(resolver => resolver.GetRequiredService <IOptions <AppMetricsMiddlewareHealthChecksOptions> >().Value); return(checksBuilder); }
internal AppMetricsMiddlewareHealthChecksOptionsBuilder(IAppMetricsHealthChecksBuilder appMetricsChecksBuilder) { AppMetricsHealthChecksChecksBuilder = appMetricsChecksBuilder ?? throw new ArgumentNullException(nameof(appMetricsChecksBuilder)); }
internal static IAppMetricsMiddlewareHealthChecksOptionsBuilder AddAppMetricsMiddlewareHealthChecksBuilder(this IAppMetricsHealthChecksBuilder appMetricsHealthCheckBuilder) { return(new AppMetricsMiddlewareHealthChecksOptionsBuilder(appMetricsHealthCheckBuilder)); }
public static IAppMetricsHealthChecksBuilder AddHealthCheckMiddleware( this IAppMetricsHealthChecksBuilder checksBuilder, Action <IAppMetricsMiddlewareHealthChecksOptionsBuilder> setupMiddleware) { return(checksBuilder.AddMetricsMiddlewareHealthChecksCore(setupMiddleware)); }