Esempio n. 1
0
        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);
        }