protected void Application_Start(object sender, EventArgs e) { HealthCheckHandler.Timeout = TimeSpan.FromSeconds(3); GlobalHealthChecks.Build(builder => builder.WithDefaultCacheDuration(TimeSpan.FromMinutes(1)) .AddUrlCheck("https://github.com") .AddHealthCheckGroup( "servers", group => group.AddUrlCheck("https://google.com") .AddUrlCheck("https://twitddter.com") ) .AddHealthCheckGroup( "memory", group => group.AddPrivateMemorySizeCheck(1) .AddVirtualMemorySizeCheck(2) .AddWorkingSetCheck(1) ) .AddCheck("thrower", (Func <IHealthCheckResult>)(() => { throw new DivideByZeroException(); })) .AddCheck("long-running", async cancellationToken => { await Task.Delay(10000, cancellationToken); return(HealthCheckResult.Healthy("I ran too long")); }) ); }
/// <summary> /// the dependency registrar /// </summary> public static void RegisterDependencies() { var maxMemory = 2500000000000; HealthCheckHandler.Timeout = TimeSpan.FromSeconds(3); GlobalHealthChecks.Build(builder => builder .WithDefaultCacheDuration(TimeSpan.FromMinutes(1)) .AddHealthCheckGroup( "Basic", group => group .AddPrivateMemorySizeCheck(maxMemory) .AddVirtualMemorySizeCheck(maxMemory) .AddWorkingSetCheck(maxMemory)) .AddHealthCheckGroup( "Databases", group => group .AddSqlCheck("Destiny", ConfigurationHelpers.GetConnectionString("Destiny")) .AddSqlCheck("SecurityService", ConfigurationHelpers.GetConnectionString("SecurityService"))) ); }