Ditched app.metrics

This commit is contained in:
2020-05-24 21:51:03 +00:00
parent f0153eaa0f
commit c2f6fd94c1
12 changed files with 404 additions and 499 deletions

View File

@@ -9,8 +9,6 @@ using Microsoft.Extensions.Logging;
using NLog.Web;
using NLog.Targets;
using NLog.Config;
using App.Metrics;
using App.Metrics.AspNetCore;
using AyaNova.Util;
namespace AyaNova
@@ -157,13 +155,13 @@ namespace AyaNova
//This is the first log entry
logger.Info($"AYANOVA SERVER {AyaNovaVersion.VersionString} BOOTING");
//log configuration
try
{
var AyaNovaConfig=config.AsEnumerable().Where(z => z.Key.StartsWith("AYANOVA") && z.Key!="AYANOVA_JWT_SECRET").Select(z=>z.Key+ "="+ z.Value).ToList();
var DiagConfig=string.Join(",", AyaNovaConfig);
DiagConfig=DbUtil.PasswordRedactedConnectionString(DiagConfig);
{
var AyaNovaConfig = config.AsEnumerable().Where(z => z.Key.StartsWith("AYANOVA") && z.Key != "AYANOVA_JWT_SECRET").Select(z => z.Key + "=" + z.Value).ToList();
var DiagConfig = string.Join(",", AyaNovaConfig);
DiagConfig = DbUtil.PasswordRedactedConnectionString(DiagConfig);
logger.Info($"Config {DiagConfig}");
}
catch (Exception ex)
@@ -172,9 +170,9 @@ namespace AyaNova
}
logger.Debug($"Full configuration is {config.GetDebugView()}");
if (ServerBootConfig.AYANOVA_LOG_ENABLE_LOGGER_DIAGNOSTIC_LOG)
if (ServerBootConfig.AYANOVA_LOG_ENABLE_LOGGER_DIAGNOSTIC_LOG)
logger.Warn("AYANOVA_LOG_ENABLE_LOGGER_DIAGNOSTIC_LOG is enabled, this will cause the server to run very slowly");
//Log environmental settings
logger.Info("OS - {0}", Environment.OSVersion.ToString());
@@ -182,7 +180,7 @@ namespace AyaNova
logger.Debug("User - {0}", Environment.UserName);
logger.Debug(".Net Version - {0}", Environment.Version.ToString());
logger.Debug("CPU count - {0}", Environment.ProcessorCount);
#endregion
@@ -237,46 +235,7 @@ namespace AyaNova
.UseSetting("detailedErrors", "true")
.UseUrls(ServerBootConfig.AYANOVA_USE_URLS)//default port and urls, set first can be overridden by any later setting here
.UseConfiguration(configuration)//support command line override of port (dotnet run urls=http://*:8081)
.UseIISIntegration()//support IIS integration just in case, it appears here to override prior settings if necessary (port)
.ConfigureMetricsWithDefaults(builder =>
{
if (ServerBootConfig.AYANOVA_METRICS_USE_INFLUXDB)
{
builder.Report.ToInfluxDb(
options =>
{
options.InfluxDb.BaseUri = new Uri(ServerBootConfig.AYANOVA_METRICS_INFLUXDB_BASEURL);
options.InfluxDb.Database = ServerBootConfig.AYANOVA_METRICS_INFLUXDB_DBNAME;
if (!string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_METRICS_INFLUXDB_CONSISTENCY))
{
options.InfluxDb.Consistenency = ServerBootConfig.AYANOVA_METRICS_INFLUXDB_CONSISTENCY;
}
options.InfluxDb.UserName = ServerBootConfig.AYANOVA_METRICS_INFLUXDB_USERNAME;
options.InfluxDb.Password = ServerBootConfig.AYANOVA_METRICS_INFLUXDB_PASSWORD;
if (!string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_METRICS_INFLUXDB_RETENTION_POLICY))
{
options.InfluxDb.RetentionPolicy = ServerBootConfig.AYANOVA_METRICS_INFLUXDB_RETENTION_POLICY;
}
options.InfluxDb.CreateDataBaseIfNotExists = true;
options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds(30);
options.HttpPolicy.FailuresBeforeBackoff = 5;
options.HttpPolicy.Timeout = TimeSpan.FromSeconds(10);
//options.MetricsOutputFormatter = new App.Metrics.Formatters.Json.MetricsJsonOutputFormatter();
//options.Filter = filter;
options.FlushInterval = TimeSpan.FromSeconds(20);
});
}
})
.UseMetricsEndpoints(opt =>
{
opt.EnvironmentInfoEndpointEnabled = false;
opt.MetricsEndpointEnabled = false;
opt.MetricsTextEndpointEnabled = false;
})
.UseMetrics()
.UseIISIntegration()//support IIS integration just in case, it appears here to override prior settings if necessary (port)
.UseStartup<Startup>()
.ConfigureLogging((context, logging) =>
{
@@ -286,7 +245,7 @@ namespace AyaNova
})
.UseNLog(); // NLog: setup NLog for Dependency injection
});
}
}
}//eoc