private static MeterProviderBuilder AddConsoleExporter( MeterProviderBuilder builder, ConsoleExporterOptions exporterOptions, MetricReaderOptions metricReaderOptions, Action <ConsoleExporterOptions> configureExporter, Action <ConsoleExporterOptions, MetricReaderOptions> configureExporterAndMetricReader) { if (configureExporterAndMetricReader != null) { configureExporterAndMetricReader.Invoke(exporterOptions, metricReaderOptions); } else { configureExporter?.Invoke(exporterOptions); } var metricExporter = new ConsoleMetricExporter(exporterOptions); var metricReader = PeriodicExportingMetricReaderHelper.CreatePeriodicExportingMetricReader( metricExporter, metricReaderOptions, DefaultExportIntervalMilliseconds, DefaultExportTimeoutMilliseconds); return(builder.AddReader(metricReader)); }
public static MeterProviderBuilder AddConsoleExporter(this MeterProviderBuilder builder, Action <ConsoleExporterOptions> configure = null) { Guard.Null(builder, nameof(builder)); var options = new ConsoleExporterOptions(); configure?.Invoke(options); var exporter = new ConsoleMetricExporter(options); var reader = options.MetricExportIntervalMilliseconds == Timeout.Infinite ? new BaseExportingMetricReader(exporter) : new PeriodicExportingMetricReader(exporter, options.MetricExportIntervalMilliseconds); reader.PreferredAggregationTemporality = options.AggregationTemporality; return(builder.AddReader(reader)); }