public static void Configure() { var settings = Settings.Read(); var logger = Log.Logger; if (settings.Enabled) { var serviceDescriptor = new ServiceDescriptor( systemId: settings.SystemId, serviceId: settings.ServiceId, deploymentId: "-", instanceId: settings.InstanseId); var connectionInfo = new EventHubConnectionInfo( ns: settings.MetricsHubNs, hub: settings.MetricsHub, sharedAccessSignature: settings.MetricsClientSasToken); var config = Metric.Config .WithAspNetCounters() .WithSystemCounters() .WithWebServerCounters(); config.WithReporting(serviceDescriptor, connectionInfo); logger.Information("Service {@ServiceDescriptor} metrics reporting enabled.", serviceDescriptor); } }
public static MetricsConfig WithReporting( this MetricsConfig config, ServiceDescriptor service, EventHubConnectionInfo eventHubConnection) { Require.NotNull(config, nameof(config)); Require.NotNull(service, nameof(service)); Require.NotNull(eventHubConnection, nameof(eventHubConnection)); config.WithReporting(reports => reports.WithReport(new EventHubReporter(service, eventHubConnection), TimeSpan.FromSeconds(5))); return(config); }