public PrometheusCollection(IGiveSensors collector, string localHost, CollectorRegistry registry) { _collector = collector; _localHost = localHost; registry.AddBeforeCollectCallback(UpdateMetrics); _metrics = Metrics.WithCustomRegistry(registry); }
/// <summary> /// Constructor /// </summary> /// <param name="pveHostsAndPortHA"></param> /// <param name="pveUsername"></param> /// <param name="pvePassword"></param> /// <param name="pveApiToken"></param> /// <param name="loggerFactory"></param> /// <param name="host"></param> /// <param name="port"></param> /// <param name="url"></param> /// <param name="prefix"></param> /// <param name="exportNodeDiskInfo"></param> public PrometheusExporter(string pveHostsAndPortHA, string pveUsername, string pvePassword, string pveApiToken, ILoggerFactory loggerFactory, string host, int port, string url, string prefix, bool exportNodeDiskInfo) : this(Prometheus.Metrics.NewCustomRegistry(), prefix, exportNodeDiskInfo) { _registry.AddBeforeCollectCallback(async() => { var stopwatch = new Stopwatch(); stopwatch.Start(); var client = ClientHelper.GetClientFromHA(pveHostsAndPortHA); client.LoggerFactory = loggerFactory; if (string.IsNullOrWhiteSpace(pveApiToken)) { await client.Login(pveUsername, pvePassword); } await Collect(client); stopwatch.Stop(); }); _server = new MetricServer(host, port, url, _registry); }
public static void AddMetricsToRegistry(CollectorRegistry registry) { var rand = new Random(); registry.AddBeforeCollectCallback(() => { System.Diagnostics.Debug.WriteLine("**** callback called. ****"); Callback.Set(rand.NextDouble()); }); }
public void AddMetricsToRegistry(CollectorRegistry registry) { registry.AddBeforeCollectCallback(() => { var resolverDiagnostics = resolver.Diagnostics; ResolverFactoryCacheCount.Set(resolverDiagnostics.FactoryCacheCount); ResolverFactoryCacheWidth.Set(resolverDiagnostics.FactoryCacheWidth); ResolverFactoryCacheDepth.Set(resolverDiagnostics.FactoryCacheDepth); var controllerDiagnostics = engineController.Diagnostics; AccessorMapperCacheCount.Set(controllerDiagnostics.ResultMapperCacheCount); AccessorMapperCacheWidth.Set(controllerDiagnostics.ResultMapperCacheWidth); AccessorMapperCacheDepth.Set(controllerDiagnostics.ResultMapperCacheDepth); }); }
public OnDemandCollector(string sqlConnectionString, int millisecondTimeout, CollectorRegistry registry, Func <MetricFactory, IEnumerable <IQuery> > configureAction) { _sqlConnectionString = sqlConnectionString; _millisecondTimeout = millisecondTimeout; _registry = registry; _metricFactory = Metrics.WithCustomRegistry(registry); _registry.AddBeforeCollectCallback(UpdateMetrics); _metrics = configureAction(_metricFactory) .Append(new ConnectionUp(_metricFactory)) .ToArray(); _exceptionsGauge = _metricFactory.CreateGauge("mssql_exceptions", "Number of queries throwing exceptions."); _timeoutGauge = _metricFactory.CreateGauge("mssql_timeouts", "Number of queries timing out."); }