public static HealthCheckBuilder AddHttpEndpointCheck(this HealthCheckBuilder builder, string name, Action <HttpCheckSettingsBuilder> configureAction)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (configureAction == null)
            {
                throw new ArgumentNullException(nameof(configureAction));
            }

            var settingsBuilder = new HttpCheckSettingsBuilder(name);

            configureAction(settingsBuilder);
            var settingsCollection = settingsBuilder.Build();

            for (int i = 0; i < settingsCollection.Requests.Count; i++)
            {
                var request      = settingsCollection.Requests[i];
                var settingsName = settingsCollection.Requests.Count > 1 ? $"{settingsCollection.Name} {i+1}" : settingsCollection.Name;
                var settings     = new HttpCheckSettings(settingsName, settingsCollection.Critical, settingsCollection.Frequency, settingsCollection.Tags, request, settingsCollection.BeforeSend);
                builder.AddHttpEndpointCheck(settings);
            }

            return(builder);
        }
        public static HealthCheckBuilder AddCheck(this HealthCheckBuilder builder, string name, Func <HealthCheckContext, Task> action, IEnumerable <string> tags = null, bool critical = false, int frequency = 0)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(builder.Add <InlineHealthCheck>(new InlineHealthCheckSettings(name, critical, frequency, TagsHelper.FromTag(tags), action)));
        }
        public static HealthCheckBuilder Add(this HealthCheckBuilder builder, string name, Func <HealthCheckContext, Task> action, string tag, bool critical = false, int frequency = 0)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(builder.AddCheck(name, action, TagsHelper.FromTag(tag), critical, frequency));
        }
        public static HealthCheckBuilder AddCounterCheck(this HealthCheckBuilder builder, CounterCheckOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new CounterCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.ErrorThreshold, options.WarningThreshold, options.Distributed);

            return(builder.AddCounterCheck(settings));
        }
Exemple #5
0
        public static HealthCheckBuilder AddOracleCheck(this HealthCheckBuilder builder, OracleCheckOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new OracleCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.ConnectionString);

            return(builder.AddOracleCheck(settings));
        }
        public static HealthCheckBuilder AddEntityFrameworkCoreCheck <TDbContext>(this HealthCheckBuilder builder, EntityFrameworkCoreCheckOptions options) where TDbContext : DbContext
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new EntityFrameworkCoreCheckSettings <TDbContext>(options.Name, options.Critical, options.Frequency, options.Tags);

            return(builder.AddEntityFrameworkCoreCheck <TDbContext>(settings));
        }
Exemple #7
0
        public static HealthCheckBuilder AddX509CertificateCheck(this HealthCheckBuilder builder, X509CertificateCheckOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new X509CertificateCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.Thumbprint, options.StoreName, options.StoreLocation, options.ExpirationOffsetInMinutes);

            return(builder.AddX509CertificateCheck(settings));
        }
Exemple #8
0
        public static HealthCheckBuilder AddVirtualMemorySizeCheck(this HealthCheckBuilder builder, ThresholdCheckOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new FloorThresholdCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.ErrorThreshold, options.WarningThreshold);

            return(builder.AddVirtualMemorySizeCheck(settings));
        }
Exemple #9
0
        public static HealthCheckBuilder AddAvailableDiskSpaceCheck(this HealthCheckBuilder builder, AvailableDiskSpaceCheckOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var settings = new AvailableDiskSpaceCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.ErrorThreshold, options.WarningThreshold, options.Drive);

            return(builder.AddAvailableDiskSpaceCheck(settings));
        }
Exemple #10
0
        public static HealthCheckBuilder AddOracleCheck(this HealthCheckBuilder builder, IConfiguration configuration)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var options = new OracleCheckOptions();

            configuration.Bind(options);

            return(builder.AddOracleCheck(options));
        }
        public static HealthCheckBuilder AddEntityFrameworkCoreCheck <TDbContext>(this HealthCheckBuilder builder, IConfiguration configuration) where TDbContext : DbContext
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var options = new EntityFrameworkCoreCheckOptions();

            configuration.Bind(options);

            return(builder.AddEntityFrameworkCoreCheck <TDbContext>(options));
        }
Exemple #12
0
        public static HealthCheckBuilder AddOracleCheck(this HealthCheckBuilder builder, string name, Action <OracleCheckSettingsBuilder> configureAction)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (configureAction == null)
            {
                throw new ArgumentNullException(nameof(configureAction));
            }

            var settingsBuilder = new OracleCheckSettingsBuilder(name);

            configureAction(settingsBuilder);
            var settings = settingsBuilder.Build();

            return(builder.AddOracleCheck(settings));
        }
        public static HealthCheckBuilder AddEntityFrameworkCoreCheck <TDbContext>(this HealthCheckBuilder builder, string name, Action <EntityFrameworkCoreCheckSettingsBuilder <TDbContext> > configureAction) where TDbContext : DbContext
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (configureAction == null)
            {
                throw new ArgumentNullException(nameof(configureAction));
            }

            var settingsBuilder = new EntityFrameworkCoreCheckSettingsBuilder <TDbContext>(name);

            configureAction(settingsBuilder);
            var settings = settingsBuilder.Build();

            return(builder.AddEntityFrameworkCoreCheck(settings));
        }
        public static HealthCheckBuilder AddHttpEndpointCheck(this HealthCheckBuilder builder, HttpCheckOptions options)
        {
            var settings = new HttpCheckSettings(options.Name, options.Critical, options.Frequency, options.Tags, options.Request);

            return(builder.Add <HttpCheck>(settings));
        }
 private static HealthCheckBuilder AddCounterCheck(this HealthCheckBuilder builder, CounterCheckSettings settings)
 {
     builder.Services.AddLocalCounters();
     return(builder.Add <CounterCheck>(settings));
 }
 private static HealthCheckBuilder AddEntityFrameworkCoreCheck <TDbContext>(this HealthCheckBuilder builder, EntityFrameworkCoreCheckSettings <TDbContext> settings) where TDbContext : DbContext
 {
     builder.Services.TryAddTransient(typeof(EntityFrameworkCoreCheck <TDbContext>));
     return(builder.Add <EntityFrameworkCoreCheck <TDbContext> >(settings));
 }
 private static HealthCheckBuilder AddHttpEndpointCheck(this HealthCheckBuilder builder, HttpCheckSettings settings)
 {
     return(builder.Add <HttpCheck>(settings));
 }
Exemple #18
0
 private static HealthCheckBuilder AddVirtualMemorySizeCheck(this HealthCheckBuilder builder, ThresholdCheckSettings settings)
 {
     builder.Services.TryAddTransient <IVirtualMemorySizeProvider, DefaultVirtualMemorySizeProvider>();
     return(builder.Add <VirtualMemorySizeCheck>(settings));
 }
Exemple #19
0
 private static HealthCheckBuilder AddAvailableDiskSpaceCheck(this HealthCheckBuilder builder, AvailableDiskSpaceCheckSettings settings)
 {
     builder.Services.TryAddTransient <IAvailableSpaceProvider, DefaultAvailableSpaceProvider>();
     return(builder.Add <AvailableDiskSpaceCheck>(settings));
 }
Exemple #20
0
 private static HealthCheckBuilder AddOracleCheck(this HealthCheckBuilder builder, OracleCheckSettings settings)
 {
     return(builder.Add <OracleCheck>(settings));
 }
Exemple #21
0
 private static HealthCheckBuilder AddSqlServerCheck(this HealthCheckBuilder builder, SqlServerCheckSettings settings)
 {
     return(builder.Add <SqlServerCheck>(settings));
 }
Exemple #22
0
 private static HealthCheckBuilder AddX509CertificateCheck(this HealthCheckBuilder builder, X509CertificateCheckSettings settings)
 {
     builder.Services.TryAddTransient <ICertificateResolver, CertificateResolver>();
     builder.Services.TryAddTransient(typeof(X509CertificateCheck));
     return(builder.Add <X509CertificateCheck>(settings));
 }