private CounterManager CreateSUT()
        {
            _collection = new PrometheusMetricsCollection();
            var loggerFactory = new LoggerFactory()
                                .AddXUnit(_outputHelper);

            return(new CounterManager(_collection, loggerFactory));
        }
Example #2
0
        /// <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>();
        }
Example #3
0
 /// <inheritdoc/>
 public CounterManager(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory)
 {
     _metrics = metrics;
     _logger  = loggerFactory.CreateLogger <CounterManager>();
 }
Example #4
0
 public HistogramManager(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory)
 {
     _metrics = metrics;
     _logger  = loggerFactory.CreateLogger <HistogramManager>();
 }
Example #5
0
 public PrometheusMetricsRegistry(PrometheusMetricsCollection metrics, ILoggerFactory loggerFactory)
 {
     _logger        = loggerFactory.CreateLogger <PrometheusMetricsRegistry>();
     _metrics       = metrics;
     _loggerFactory = loggerFactory;
 }
Example #6
0
 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)));
        }