- Breaking Change for Prometheus: OhmGraphite has not been following Prometheus best practices when it came to naming metrics. Metric names now look like "ohm_cpu_celsius" with only the "hardware" and "sensor" labels remaining. The following changes have been implemented:
appmetric label has been removed in favor of a metric namespace prefix of "ohm"
hardware_typemetric label has been removed in favor of encapsulating it into the metric name (eg: "cpu", "nic").
sensor_indexmetric label has been removed. This label proved superfluous as every sensor can be uniquely identified by it's name.
hostmetric label has been removed: This falls in line with other prometheus exporters like node_exporter, which does not export the host as a label.
- base unit included in metric name: (like "bytes", "revolutions per minute", etc)
- The value that is exported to Prometheus is now converted into base units, such as converting GB (2^30) and MB (2^20) into bytes, MHz into hertz. Other units are unaffected. There are two candidates for this conversion that were unaffected:
- Flow rate is still liters per hour, even though liters per second may seem more "base-unity", but grafana contained the former but not the latter.
- Fan speed remains revolutions per minute, as I'm unaware of any manufacturer reporting fan speed as revolutions per second.
- Side note: OhmGraphite now follows the official data model naming scheme by replacing invalid characters with an underscore.
- Only allow non-NaN and finite sensor values to be reported. Previously, NaN and infinite values could be reported which may cause downstream issues. For instance, Postgres / Prometheus will accept NaN values but Grafana will error out with a body json marshal error. These unexpected values should be quite rare, as out of the 25 million data points over the past week, 14 of those over 2 seconds were reported as NaN. It only takes a single NaN value to ruin a dashboard, so it's been fixed, and if a NaN value were to occur again, the sensor id would be logged under
DEBUGbefore being discarded.
- Update LibreHardwareMonitor to 713fd30
- Fix: Nvidia power usage monitor via NVML (you'll need to install Nvidia's CUDA toolkit)
- Internal dependency update (no behavior changes should be expected):
- Bump prometheus-net from 3.1.0 to 3.1.3
- Bump Npgsql from 4.0.5 to 4.0.7
- Bump NLog.Config from 4.6.2 to 4.6.4