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

Update LibrehardwareMonitor from d3a38bf...f0dd72a

- Add support for reporting battery metrics
- Add support for Zen 3 SMU (System Management Unit) reporting
- Add support for ASUS ROG CROSSHAIR VIII HERO (WIFI)
- Add support for the Gigabyte B360 AORUS GAMING 3 WIFI-CF mainboard
Nick Babcock 3 жил өмнө
parent
commit
43748ac11f

+ 1 - 1
LibreHardwareMonitor

@@ -1 +1 @@
-Subproject commit d3a38bfa9aed1e23b1ce6b43acbe4156f4d6f481
+Subproject commit f0dd72add999ac1e92f178a10e326be2de607c00

+ 3 - 2
OhmGraphite/MetricConfig.cs

@@ -9,7 +9,7 @@ using System.Text.RegularExpressions;
 namespace OhmGraphite
 {
     public record EnabledHardware(bool Cpu, bool Gpu, bool Motherboard, bool Ram, bool Network, bool Storage,
-        bool Controller, bool Psu);
+        bool Controller, bool Psu, bool Battery);
 
     public class MetricConfig
     {
@@ -115,7 +115,8 @@ namespace OhmGraphite
                 config["/network/enabled"]?.ToLowerInvariant() != "false",
                 config["/storage/enabled"]?.ToLowerInvariant() != "false",
                 config["/controller/enabled"]?.ToLowerInvariant() != "false",
-                config["/psu/enabled"]?.ToLowerInvariant() != "false"
+                config["/psu/enabled"]?.ToLowerInvariant() != "false",
+                config["/battery/enabled"]?.ToLowerInvariant() != "false"
             );
         }
 

+ 1 - 0
OhmGraphite/Program.cs

@@ -44,6 +44,7 @@ namespace OhmGraphite
                             IsStorageEnabled = config.EnabledHardware.Storage,
                             IsControllerEnabled = config.EnabledHardware.Controller,
                             IsPsuEnabled = config.EnabledHardware.Psu,
+                            IsBatteryEnabled = config.EnabledHardware.Battery,
                         };
 
                         var collector = new SensorCollector(computer, config);

+ 4 - 0
OhmGraphite/PrometheusCollection.cs

@@ -50,6 +50,8 @@ namespace OhmGraphite
                         return value * (1L << 20);
                     case SensorType.Clock: // MHz
                         return value * 1000000;
+                    case SensorType.Energy: // Wh
+                        return value / 1000.0;
                     default:
                         return value;
                 }
@@ -87,6 +89,8 @@ namespace OhmGraphite
                         return "amps";
                     case SensorType.TimeSpan:
                         return "seconds";
+                    case SensorType.Energy:
+                        return "watt_hours";
                     case SensorType.Factor: // 1
                     default:
                         return report.SensorType.ToString().ToLowerInvariant();

+ 6 - 0
OhmGraphite/Translation.cs

@@ -24,6 +24,7 @@ namespace OhmGraphite
         SmallData, // MB = 2^20 Bytes
         Throughput, // B/s
         TimeSpan, // Seconds
+        Energy // milliwatt-hour (mWh)
     }
 
     /// <summary>
@@ -43,6 +44,7 @@ namespace OhmGraphite
         NIC,
         PSU,
         EmbeddedController,
+        Battery,
     }
 
     public static class TranslationExtension {
@@ -82,6 +84,8 @@ namespace OhmGraphite
                     return SensorType.Throughput;
                 case LibreHardwareMonitor.Hardware.SensorType.TimeSpan:
                     return SensorType.TimeSpan;
+                case LibreHardwareMonitor.Hardware.SensorType.Energy:
+                    return SensorType.Energy;
                 default:
                     throw new ArgumentOutOfRangeException(nameof(s), s, "unexpected hardware monitor sensor translation");
             }
@@ -113,6 +117,8 @@ namespace OhmGraphite
                     return HardwareType.PSU;
                 case LibreHardwareMonitor.Hardware.HardwareType.EmbeddedController:
                     return HardwareType.EmbeddedController;
+                case LibreHardwareMonitor.Hardware.HardwareType.Battery:
+                    return HardwareType.Battery;
                 default:
                     throw new ArgumentOutOfRangeException(nameof(s), s, "unexpected hardware monitor hardware translation");
             }

+ 1 - 0
README.md

@@ -289,6 +289,7 @@ The snippet below shows all the options that can be used to disable hardware.
 <add key="/storage/enabled" value="false" />
 <add key="/controller/enabled" value="false" />
 <add key="/psu/enabled" value="false" />
+<add key="/battery/enabled" value="false" />
 ```
 
 Since disabling sensors at the hardware level is more efficient than a glob to hide desired sensors, disabling hardware is desirable even if the underlying hardware is stable.