private CounterManager CreateSUT() { _collection = new PrometheusMetricsCollection(); var loggerFactory = new LoggerFactory() .AddXUnit(_outputHelper); return(new CounterManager(_collection, loggerFactory)); }
/// <summary> /// Registrate an instance of <see cref="ICounterManager"/>, <see cref="IGaugeManager"/>, <see cref="ISummaryManager"/> and <see cref="IHistogramManager"/>. /// </summary> /// <param name="registrate">Action for registrate metrics.</param> public static void AddPrometheusMetrics(this IServiceCollection services, Action <IPrometheusMetricsRegistry, IServiceProvider> registrate) { services.AddSingleton((provider) => { var collection = new PrometheusMetricsCollection(); var loggerFactory = provider.GetService <ILoggerFactory>(); registrate(new PrometheusMetricsRegistry(collection, loggerFactory), provider); return(collection); }); services.AddTransient <ICounterManager, CounterManager>(); services.AddTransient <IGaugeManager, GaugeManager>(); services.AddSingleton <ISummaryManager, SummaryManager>(); services.AddSingleton <IHistogramManager, HistogramManager>(); }
/// <inheritdoc/> public CounterManager(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory) { _metrics = metrics; _logger = loggerFactory.CreateLogger <CounterManager>(); }
public HistogramManager(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory) { _metrics = metrics; _logger = loggerFactory.CreateLogger <HistogramManager>(); }
public PrometheusMetricsRegistry(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <PrometheusMetricsRegistry>(); _metrics = metrics; _loggerFactory = loggerFactory; }
public SummaryManager(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory) { _metrics = metrics; _logger = loggerFactory.CreateLogger <SummaryManager>(); }
private PrometheusMetricsRegistry CreateSUT() { _collection = new PrometheusMetricsCollection(); return(new PrometheusMetricsRegistry(_collection, new LoggerFactory().AddXUnit(_outputHelper))); }