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"); }
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(); }
/// <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); }
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)); }