1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using System.Collections.Generic;
- using System.Net.Http;
- using OpenHardwareMonitor.Hardware;
- using Prometheus;
- using Xunit;
- namespace OhmGraphite.Test
- {
- public class PrometheusTest
- {
- [Fact]
- public async void PrometheusTestServer()
- {
- var collector = new TestSensorCreator();
- _ = new PrometheusCollection(collector, Metrics.DefaultRegistry);
- var mserver = new MetricServer("localhost", 21881);
- var server = new PrometheusServer(mserver, collector);
- try
- {
- server.Start();
- var client = new HttpClient();
- var resp = await client.GetAsync("http://localhost:21881/metrics");
- Assert.True(resp.IsSuccessStatusCode);
- var content = await resp.Content.ReadAsStringAsync();
- Assert.Contains("# HELP ohm_cpu_celsius Metric reported by open hardware sensor", content);
- }
- finally
- {
- server.Stop();
- }
- }
- [Fact]
- public async void PrometheusNicGuid()
- {
- var collector = new NicGuidSensor();
- _ = new PrometheusCollection(collector, Metrics.DefaultRegistry);
- var mserver = new MetricServer("localhost", 21882);
- var server = new PrometheusServer(mserver, collector);
- try
- {
- server.Start();
- var client = new HttpClient();
- var resp = await client.GetAsync("http://localhost:21882/metrics");
- Assert.True(resp.IsSuccessStatusCode);
- var content = await resp.Content.ReadAsStringAsync();
- Assert.Contains("Bluetooth Network Connection 2", content);
- }
- finally
- {
- server.Stop();
- }
- }
- public class NicGuidSensor : IGiveSensors
- {
- public IEnumerable<ReportedValue> ReadAllSensors()
- {
- yield return new ReportedValue("/nic/{my-guid}/throughput/7", "Bluetooth Network Connection 2", 1.06f, SensorType.Throughput, "cpu", HardwareType.NIC, 7);
- }
- public void Start()
- {
- }
- public void Stop()
- {
- }
- }
- }
- }
|