1
0
Эх сурвалжийг харах

Update prometheus-net from 2.1.3 to 3.0.1

Nick Babcock 6 жил өмнө
parent
commit
5142e91ae7

+ 3 - 9
OhmGraphite.Test/PrometheusTest.cs

@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net.Http;
-using System.Text;
-using System.Threading.Tasks;
-using OpenHardwareMonitor.Hardware;
+using System.Net.Http;
 using Prometheus;
 using Xunit;
 
@@ -16,9 +10,9 @@ namespace OhmGraphite.Test
         public async void PrometheusTestServer()
         {
             var collector = new TestSensorCreator();
-            var prometheusCollection = new PrometheusCollection(collector, "my-pc");
+            var prometheusCollection = new PrometheusCollection(collector, "my-pc", Metrics.DefaultRegistry);
             var mserver = new MetricServer("localhost", 21881);
-            var server = new PrometheusServer(mserver, collector, prometheusCollection);
+            var server = new PrometheusServer(mserver, collector);
             try
             {
                 server.Start();

+ 1 - 1
OhmGraphite/OhmGraphite.csproj

@@ -31,7 +31,7 @@
     <PackageReference Include="Costura.Fody" Version="3.3.2" />
     <PackageReference Include="NLog.Config" Version="4.5.11" />
     <PackageReference Include="Npgsql" Version="4.0.4" />
-    <PackageReference Include="prometheus-net" Version="2.1.3" />
+    <PackageReference Include="prometheus-net" Version="3.0.1" />
     <PackageReference Include="Resourcer.Fody" Version="1.7.3" />
     <PackageReference Include="TopShelf" Version="4.2.0" />
     <PackageReference Include="Topshelf.NLog" Version="4.2.0" />

+ 2 - 2
OhmGraphite/Program.cs

@@ -66,9 +66,9 @@ namespace OhmGraphite
             else if (config.Prometheus != null)
             {
                 Logger.Info($"Prometheus port: {config.Prometheus.Port}");
-                var prometheusCollection = new PrometheusCollection(collector, Environment.MachineName);
+                var prometheusCollection = new PrometheusCollection(collector, Environment.MachineName, Metrics.DefaultRegistry);
                 var server = new MetricServer(config.Prometheus.Host, config.Prometheus.Port);
-                return new PrometheusServer(server, collector, prometheusCollection);
+                return new PrometheusServer(server, collector);
             }
             else if (config.Timescale != null)
             {

+ 3 - 7
OhmGraphite/PrometheusCollection.cs

@@ -2,25 +2,21 @@
 using NLog;
 using OpenHardwareMonitor.Hardware;
 using Prometheus;
-using Prometheus.Advanced;
 
 namespace OhmGraphite
 {
-    public class PrometheusCollection : IOnDemandCollector
+    public class PrometheusCollection
     {
         private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
         private readonly IGiveSensors _collector;
         private readonly string _localHost;
         private MetricFactory _metrics;
 
-        public PrometheusCollection(IGiveSensors collector, string localHost)
+        public PrometheusCollection(IGiveSensors collector, string localHost, CollectorRegistry registry)
         {
             _collector = collector;
             _localHost = localHost;
-        }
-
-        public void RegisterMetrics(ICollectorRegistry registry)
-        {
+            registry.AddBeforeCollectCallback(UpdateMetrics);
             _metrics = Metrics.WithCustomRegistry(registry);
         }
 

+ 1 - 5
OhmGraphite/PrometheusServer.cs

@@ -1,6 +1,5 @@
 using NLog;
 using Prometheus;
-using Prometheus.Advanced;
 
 namespace OhmGraphite
 {
@@ -10,20 +9,17 @@ namespace OhmGraphite
 
         private readonly MetricServer _server;
         private readonly IGiveSensors _collector;
-        private readonly PrometheusCollection _prometheusCollection;
 
-        public PrometheusServer(MetricServer server, IGiveSensors collector, PrometheusCollection prometheusCollection)
+        public PrometheusServer(MetricServer server, IGiveSensors collector)
         {
             _server = server;
             _collector = collector;
-            _prometheusCollection = prometheusCollection;
         }
 
         public void Start()
         {
             Logger.LogAction("starting prometheus server", () =>
             {
-                DefaultCollectorRegistry.Instance.RegisterOnDemandCollectors(_prometheusCollection);
                 _collector.Start();
                 _server.Start();
             });