Inheritance: Prometheus.MetricConfiguration
        /// <summary>
        /// Gauges can have any numeric value and change arbitrarily.
        /// </summary>
        public Gauge CreateGauge(string name, string help, GaugeConfiguration configuration = null)
        {
            configuration = configuration ?? GaugeConfiguration.Default;

            var metric = new Gauge(name, help, configuration.LabelNames, configuration.SuppressInitialValue);

            return((Gauge)_registry.GetOrAdd(metric));
        }
        public GaugeGroupQuery(string name, string description, string query, IEnumerable <Column> labelColumns, Column valueColumn, MetricFactory metricFactory, int?millisecondTimeout)
        {
            Name = name;
            this._description  = description;
            Query              = query;
            MillisecondTimeout = millisecondTimeout;
            this._valueColumn  = valueColumn;
            this._labelColumns = labelColumns.OrderBy(x => x.Order).ToArray();

            var gaugeConfiguration = new Prometheus.GaugeConfiguration
            {
                LabelNames           = this._labelColumns.Select(x => x.Label).ToArray(),
                SuppressInitialValue = true
            };

            _gauge = metricFactory.CreateGauge(name, description, gaugeConfiguration);
        }
 public static Gauge CreateGauge(string name, string help, GaugeConfiguration configuration) =>
 DefaultFactory.CreateGauge(name, help, configuration);
 /// <summary>
 /// Gauges can have any numeric value and change arbitrarily.
 /// </summary>
 public Gauge CreateGauge(string name, string help, GaugeConfiguration configuration = null)
 {
     return(_registry.GetOrAdd(new CollectorRegistry.CollectorInitializer <Gauge, GaugeConfiguration>(
                                   (n, h, config) => new Gauge(n, h, config.LabelNames, config.SuppressInitialValue),
                                   name, help, configuration ?? GaugeConfiguration.Default)));
 }