Exemplo n.º 1
0
 public void RegisterMetrics(ICollectorRegistry registry)
 {
     registry.GetOrAdd(txBytes);
     registry.GetOrAdd(rxBytes);
     signal = Metrics.WithCustomRegistry(registry)
              .CreateGauge("CAPsMAN_Clients_Signal", "CAPsMAN Client's signal", "MAC", "IP", "Hostname");
 }
Exemplo n.º 2
0
        public Counter CreateCounter(string name, string help, CounterConfiguration configuration)
        {
            configuration = configuration ?? CounterConfiguration.Default;

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

            return((Counter)_registry.GetOrAdd(metric));
        }
    public MotorMetricsFactory(
        IOptions <PrometheusOptions> options,
        IApplicationNameService nameService
        )
    {
        var prometheusConfig = options.Value ?? throw new ArgumentNullException(nameof(options), "Prometheus config doesn't exist.");

        _collectorRegistry = prometheusConfig.CollectorRegistryInstance ?? Prometheus.Client.Metrics.DefaultCollectorRegistry;

        _collectorRegistry.GetOrAdd(
            ThreadPoolGauge.ThreadPoolGaugeConfig,
            _ => new ThreadPoolGauge()
            );
        _metricFactory = new MetricFactory(_collectorRegistry);

        var counter = _metricFactory.CreateCounter(
            "motor_extensions_hosting_build_info",
            "A metric with a constant '1' value labeled by version, libversion, and framework from which the service was built.",
            "version", "libversion", "framework"
            );

        counter.WithLabels(
            nameService.GetVersion(),
            nameService.GetLibVersion(),
            RuntimeInformation.FrameworkDescription
            ).Inc();
    }
Exemplo n.º 4
0
        /// <summary>
        ///     Create  Counter.
        /// </summary>
        /// <param name="name">Name.</param>
        /// <param name="help">Help text.</param>
        /// <param name="includeTimestamp">Include unix timestamp for metric.</param>
        /// <param name="suppressEmptySamples">Define if empty samples should be included into scrape output</param>
        /// <param name="labelNames">Array of label names.</param>
        public Counter CreateCounter(string name, string help, bool includeTimestamp, bool suppressEmptySamples, params string[] labelNames)
        {
            var metric = TryGetByName <Counter>(name);

            if (metric == null)
            {
                var configuration = new MetricConfiguration(name, help, includeTimestamp, suppressEmptySamples, labelNames);
                metric = _registry.GetOrAdd(configuration, config => new Counter(config));
            }

            ValidateLabelNames(labelNames, metric.LabelNames);
            return(metric);
        }
Exemplo n.º 5
0
        public Prometheus.Counter CreateCounter(string name, string help, params string[] labelNames)
        {
            var metric = new Prometheus.Counter(name, help, labelNames);

            return((Prometheus.Counter)_registry.GetOrAdd(metric));
        }