Prometheus Adapter for HWiNFO (+ Grafana Dashboard)

Just for some status report of not releasing anything. I've been busy elsewhere, but I'm still on the MQTT implementation. It requires bit of refactoring of the existing codebase, so it wasn't as trivial to add as I initially thought.

I hope to finish it soon-ish.

I'm using Unraid server, but don't have experience with MQTT, so for MQTT export receive, I will need install mosquito (MQTT data broker) docker on server side, for receive all data?
 
Has anyone been able to add their Corsair AIO to Promdater? I tried the catch all
YAML:
- '(?<MetricName>.*)'

but I am not getting any more information such as my AIO. After I added the line I restarted the promdater service and when that didn't work I rebooted.
My Prometheusmapping.yaml is default except I added that catch all to a line directly above the AggregateValues.


Did I miss something?
 
I'm using Unraid server, but don't have experience with MQTT, so for MQTT export receive, I will need install mosquito (MQTT data broker) docker on server side, for receive all data?

I'm not sure what Unraid runs, but for PromDapter + HWiNFO setup you will need something that runs HWiNFO - that is Windows platform - to begin with. The MQTT in this context is just a protocol-format to output the HWiNFO data into processable format, like Prometheus is as well.

So can you explain a bit more of your systems and goals. Are you looking to monitor Unraid or use it as part of runner to monitor something else?
 
Has anyone been able to add their Corsair AIO to Promdater? I tried the catch all
YAML:
- '(?<MetricName>.*)'

but I am not getting any more information such as my AIO. After I added the line I restarted the promdater service and when that didn't work I rebooted.
My Prometheusmapping.yaml is default except I added that catch all to a line directly above the AggregateValues.


Did I miss something?

Corsair iCue software and HWiNFO have issues together;

My own solution for monitoring Corsair product (PSU in my case) was not to use iCue for monitoring it at all. For AIO where you might need more controlling it might not be feasible case.

Do the sensors/readings appear OK in HWiNFO window? If they do, then it's just about configuring PromDapter properly.

Do you get any metrics out, just the Corsair AIO ones are missing?

The Prometheusmapping.yaml is confusing in the setup, because it installs "original default" under C:\Program Files - but that's not the one to edit. The proper one to edit is the one:

C:\ProgramData\PromDapter\Prometheusmapping.yaml

Can you double check that you edited the right one?
 
I'm not sure what Unraid runs, but for PromDapter + HWiNFO setup you will need something that runs HWiNFO - that is Windows platform - to begin with. The MQTT in this context is just a protocol-format to output the HWiNFO data into processable format, like Prometheus is as well.

So can you explain a bit more of your systems and goals. Are you looking to monitor Unraid or use it as part of runner to monitor something else?
Sorry, I not explained well I meaned I run HWiNFO with PromDapter in Windows and run Prometheus + Grafana dockers on Unraid Server.
Using HWiNFO Home Cluster.json as Dashboard.
I was thinking I need MQTT docker for receive data but I think for this I can use MQTT builded in grafana, instead Prometheus for data server in Grafana.

Do you want to make work both Prometheus or MQTT in PromDapter?
 
Corsair iCue software and HWiNFO have issues together;

My own solution for monitoring Corsair product (PSU in my case) was not to use iCue for monitoring it at all. For AIO where you might need more controlling it might not be feasible case.

Do the sensors/readings appear OK in HWiNFO window? If they do, then it's just about configuring PromDapter properly.

Do you get any metrics out, just the Corsair AIO ones are missing?

The Prometheusmapping.yaml is confusing in the setup, because it installs "original default" under C:\Program Files - but that's not the one to edit. The proper one to edit is the one:

C:\ProgramData\PromDapter\Prometheusmapping.yaml

Can you double check that you edited the right one?
Thank you for your detailed reply, sorry for being an idiot I did the one in program files.
The information is showing up in HWInfo just fine, I just made the change in the correct YAML file and it solved my issue.
 
I'm happy to announce first public beta release of PromDapter - customizable Prometheus Adapter for HWiNFO.

My personal motivation was to get centralized dashboard of small cluster of computers (3-5 in my case) to be part of home automation. When joining the Folding@Home and Rosetta@Home (and BOINC) in general pushed the need even further. So HUGE thanks to Martin, here we are with first public released version.

My main design goal was to create user-customizable adapter; right now the customization is combination of named Regexp capture groups, which work nicely with optional renaming of HWiNFO sensors (for example match Ryzen 1xxx, 2xxx and 3xxx generations temperature sensors). I aimed to provide enough content out-of-the-box so that those interested, can get something useful immediately.

Without further ado, I've described most things in README.txt (attached here and in the release package). I've also attached example screenshot of dashboard and example of metrics output to get the idea what it does (especially if one is familiar with Prometheus metrics).

Please read the README.txt properly to understand what limitations there are.

NOTE! This is first beta-release, whereas it shouldn't mess your system, I'm not completely satisfied with installer's behaviour as of yet.


Releases are published now and in the future in GitHub:
https://github.com/kallex/PromDapter/releases

I'll keep following this thread for immediate support, but you might also post issues in GitHub if you feel like (I try to monitor that as well).
How to open this osd
 
How to open this osd
This is not an OSD. It is a Prometheus adapter to generate a data feed. The best way to visualize the feed is to install Grafana, configure this as a data source, then design your dashboard with whatever you want to display. Oh, and I forgot to mention that you will also need to fiddle with the YAML file to extract all of the info you want to display from HWiNFO.
 
Sorry for not being active here. I'll try to get back to finishing the MQTT provider implementation soon.
 
Hi all :)

First off, thanks for the tool hwinfo, the prometheus adapter and the powershell script :) nice work!
I used gwilders PS script and encountered an error when multiple parts from same type are used.
In my example I use 4 Aquacomputer Pumps, but in the variable $psdata they all have the same source. So I wrote a little hack in PS for this:

Bash:
$psdata | Group-Object -Property Source,Name,Category | ?{$_.Count -gt 1} | %{
            $i=1
            $_.Group | %{
                $_.Source = $_.Source + " # $i"
                $i++
            }
        }

Would be nice if the prometheus adapter can extract the different parts :)!
Keep up the good work <3

Kind regards, Clero

Here is a Powershell script around your provider code.

Bash:
# prep
#   install powershell 7
#       winget install --id Microsoft.Powershell --source winget
#   allow script execution
#       Set-ExecutionPolicy -ExecutionPolicy Unrestricted
#   VSCode should show version 7
#       $PSVersionTable
Clear-Host
New-Item -Path $HOME\hwinfo_adapter -ItemType Directory -ErrorAction SilentlyContinue;
Set-Location -Path $HOME\hwinfo_adapter;
$sources = [ordered]@{
    source = @{
        uri = "https://raw.githubusercontent.com/kallex/PromDapterHWiNFO/master/PromDapterDeclarations/Source.cs";
        output = "PromDapterDeclarations.Source.dll";
    };
    data_value = @{
        uri = "https://raw.githubusercontent.com/kallex/PromDapterHWiNFO/master/PromDapterDeclarations/DataValue.cs";
        output = "PromDapterDeclarations.DataValue.dll";
    };
    data_item = @{
        uri = "https://raw.githubusercontent.com/kallex/PromDapterHWiNFO/master/PromDapterDeclarations/DataItem.cs";
        output = "PromDapterDeclarations.DataItem.dll";
    };
    service_iface = @{
        uri = "https://raw.githubusercontent.com/kallex/PromDapterHWiNFO/master/PromDapterDeclarations/IPromDapterService.cs";
        output = "PromDapterDeclarations.IPromDapterService.dll";
    };
    service_impl = @{
        uri = "https://raw.githubusercontent.com/kallex/PromDapterHWiNFO/master/HWiNFODataProvider/HWiNFOProvider.cs";
        output = "SensorMonHTTP.HWiNFOProvider.dll";
    };
};
$references = [System.Collections.ArrayList]@(
    "System.Core",
    "System.Collections",
    "System.IO.MemoryMappedFiles",
    "System.Linq");
foreach ($key in $sources.Keys)
{
    $item = $sources[$key];
    Write-Host "`t$($key)"
    Write-Host "`t`tDownload source.";
    $response = Invoke-WebRequest -Uri $item["uri"];
    $source = $response.Content;
   
    Write-Host "`t`tCreate .NET type.";
    $path = Join-Path -Path $(Get-Location) -ChildPath $item["output"];
    Remove-Item -Path $path -ErrorAction SilentlyContinue;
    Add-Type -TypeDefinition $source -Language CSharp -OutputAssembly $path -OutputType Library -ReferencedAssemblies $references -IgnoreWarnings -PassThru;
    $references.Add($path) | Out-Null;
}
Write-Host "`n`tCreate wrapper instance.";
$wrapper = New-Object -TypeName SensorMonHTTP.HWiNFOProvider;
$wrapper.Open.Invoke();
$data = $wrapper.GetDataItems.Invoke().GetAwaiter().GetResult();
$psdata = $data | Select-Object `
    @{Name='Source';Expression={$_.Source.SourceName};}, `
    Name, `
    @{Name='Value';Expression={$_.Value.Object};}, `
    Unit, `
    @{Name='Category';Expression={$_.Category};}
$psdata | Format-Table
$psdata | Out-GridView
$wrapper.Close.Invoke();

Code:
Source                                               Name                                                     Value Unit
------                                               ----                                                     ----- ----
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Virtual Memory Committed                                 12469 MB
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Virtual Memory Available                                 11846 MB
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Virtual Memory Load                                       51.2 %
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Physical Memory Used                                      6759 MB
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Physical Memory Available                                 8852 MB
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Physical Memory Load                                      43.2 %
System: ASUS ROG Zephyrus G14 GA402RJ_GA402RJ        Page File Usage                               3.12715418198529 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 VID                                               1.465 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 VID                                                1.45 V
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 Clock (perf #2/)                       4810.37429073951 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 Clock (perf #1/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 Clock (perf #3/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 Clock (perf #6/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 Clock (perf #4/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 Clock (perf #7/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 Clock (perf #5/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 Clock (perf #8/)                       3282.07829211914 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Bus Clock                                     100.216131057073 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T0 Effective Clock                     967.892883300781 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T1 Effective Clock                     476.545337924948 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T0 Effective Clock                     752.127294428884 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T1 Effective Clock                      272.45550737156 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T0 Effective Clock                     352.247171944307 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T1 Effective Clock                     251.596558952757 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T0 Effective Clock                      44.596532433681 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T1 Effective Clock                     41.2388756322904 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T0 Effective Clock                     221.875366433011 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T1 Effective Clock                     191.846927878884 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T0 Effective Clock                     27.4648685451495 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T1 Effective Clock                     26.4218597473796 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T0 Effective Clock                     73.7891520557069 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T1 Effective Clock                     119.974528268864 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T0 Effective Clock                     20.5766423033784 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T1 Effective Clock                     18.0619329061826 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Average Effective Clock                       241.169465007985 MHz
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T0 Usage                                           13.8 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T1 Usage                                            6.1 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T0 Usage                                             20 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T1 Usage                                            6.9 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T0 Usage                                             10 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T1 Usage                                            4.6 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T0 Usage                                            1.5 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T1 Usage                                              0 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T0 Usage                                              3 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T1 Usage                                            6.1 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T0 Usage                                            1.5 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T1 Usage                                              0 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T0 Usage                                            1.5 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T1 Usage                                            2.3 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T0 Usage                                              0 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T1 Usage                                              0 %
CPU [#0]: AMD Ryzen 9 6900HS                         Max CPU/Thread Usage                                        20 %
CPU [#0]: AMD Ryzen 9 6900HS                         Total CPU Usage                                        4.83125 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T0 Utility                              15.514744546967 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 T1 Utility                              14.162183311522 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T0 Utility                             22.4346484035122 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 T1 Utility                             8.00978076693708 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T0 Utility                             10.4575773017779 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 T1 Utility                             7.39056178250797 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T0 Utility                             1.23150114380374 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 T1 Utility                              1.1199448765046 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T0 Utility                             6.23845588316497 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 T1 Utility                             5.63133507506484 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T0 Utility                            0.755732603405366 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 T1 Utility                            0.705972372099481 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T0 Utility                              2.0543123631384 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 T1 Utility                             3.47949363573831 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T0 Utility                            0.562148922659451 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 T1 Utility                             0.45272993322579 %
CPU [#0]: AMD Ryzen 9 6900HS                         *Total CPU Utility                            6.26213273634007 %
CPU [#0]: AMD Ryzen 9 6900HS                         Core 0 Ratio                                                48 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 1 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 2 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 3 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 4 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 5 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 6 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS                         Core 7 Ratio                                             32.75 x
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Package C6 Residency                                         0 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 0 C0 Residency                           22.7541255950928 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 1 C0 Residency                           23.0968112945557 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 2 C0 Residency                           14.3191156387329 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 3 C0 Residency                           1.57580482959747 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 4 C0 Residency                           9.23273658752441 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 5 C0 Residency                          0.951142489910126 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 6 C0 Residency                           4.22052717208862 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 7 C0 Residency                          0.643017888069153 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 0 C1 Residency                           77.2458343505859 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 1 C1 Residency                           76.9032211303711 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 2 C1 Residency                           71.5608825683594 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 3 C1 Residency                           10.0295429229736 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 4 C1 Residency                           90.7672653198242 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 5 C1 Residency                           3.82043194770813 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 6 C1 Residency                           61.3139495849609 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 7 C1 Residency                           1.95260310173035 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 0 C6 Residency                                          0 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 1 C6 Residency                                          0 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 2 C6 Residency                           14.3730278015137 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 3 C6 Residency                           88.8222732543945 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 4 C6 Residency                                          0 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 5 C6 Residency                           95.5749893188477 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 6 C6 Residency                            34.753475189209 %
CPU [#0]: AMD Ryzen 9 6900HS: C-State Residency      Core 7 C6 Residency                           97.8610534667969 %
Memory Timings                                       *Memory Clock                                             2400 MHz
Memory Timings                                       Memory Clock Ratio                                          24 x
Memory Timings                                       Tcas                                                        40 T
Memory Timings                                       Trcd                                                        39 T
Memory Timings                                       Trp                                                         39 T
Memory Timings                                       Tras                                                        77 T
Memory Timings                                       Trc                                                        116 T
Memory Timings                                       Trfc                                                       710 T
Memory Timings                                       Command Rate                                                 1 T
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               *CPU (Tctl/Tdie)                                         48.25 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU Core                                      48.1524620056152 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU SOC                                       45.4793434143066 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               APU GFX                                       41.3664436340332 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU Skin Temperature                          31.4835453033447 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core0                                         47.5742607116699 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core1                                         42.7298812866211 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core2                                         46.9044380187988 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core3                                         40.5208587646484 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core4                                          46.179141998291 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core5                                         40.1584320068359 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core6                                         44.9378700256348 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core7                                         39.9599113464355 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               L3 Cache                                      46.4319534301758 °C
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               *CPU VDDCR_VDD Voltage (SVI3 TFN)             1.19591045379639 V
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU VDDCR_SOC Voltage (SVI3 TFN)              1.02410435676575 V
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU VDDCR_SR Voltage (SVI3 TFN)               1.03425192832947 V
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU Core Current (SVI2 TFN)                   10.4872779846191 A
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               SoC Current (SVI2 TFN)                        3.38117599487305 A
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU TDC                                       10.1237325668335 A
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU EDC                                       106.022003173828 A
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               *CPU Package Power                            20.3225399754972 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 0 Power                                  1.91760754585266 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 1 Power                                  1.92519950480102 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 2 Power                                  1.33820961513791 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 3 Power                                 0.213301508805273 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 4 Power                                  1.13941842213073 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 5 Power                                  0.11631754263766 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 6 Power                                 0.705476532189879 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core 7 Power                                0.0780721633356791 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU Core Power (SVI2 TFN)                     14.0565614700317 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU SoC Power (SVI2 TFN)                      3.46167731285095 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Core+SoC+SR Power (SVI3 TFN)                  18.0358123779297 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               *CPU PPT                                      14.0312404632568 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               APU STAPM                                      17.393518447876 W
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Infinity Fabric Clock (FCLK)                              1800 MHz
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Memory Controller Clock (UCLK)                            1200 MHz
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               L3 Cache                                      4086.68565750122 MHz
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Frequency Limit - Global                      4825.87766647339 MHz
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU PPT Limit                                 38.9756679534912 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU TDC Limit                                 15.5749731797438 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU EDC Limit                                 75.7300022670201 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU PPT FAST Limit                              20.23899269104 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               CPU PPT SLOW Limit                            16.7038555145264 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               APU STAPM Limit                               17.3935165405273 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Thermal Limit                                 58.7225151062012 %
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Thermal Throttling (HTC)                                     0 Yes/No
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Thermal Throttling (PROCHOT CPU)                             0 Yes/No
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Thermal Throttling (PROCHOT EXT)                             0 Yes/No
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               DRAM Read Bandwidth                           3.60738110542297 Gbps
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               DRAM Write Bandwidth                          1.00867581367493 Gbps
CPU [#0]: AMD Ryzen 9 6900HS: Enhanced               Average Active Core Count                      0.7679323554039
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Drive Temperature                                           40 °C
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Drive Remaining Life                                       100 %
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Drive Failure                                                0 Yes/No
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Drive Warning                                                0 Yes/No
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Total Host Writes                                         1454 GB
S.M.A.R.T.: Micron_2450_MTFDKBA1T0TFK (2147334516DB) Total Host Reads                                          1210 GB
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Read Activity                                            0.031 %
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Write Activity                                           0.053 %
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Total Activity                                           0.085 %
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Read Rate                                                0.096 MB/s
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Write Rate                                               0.111 MB/s
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Read Total                                              241055 MB
Drive: Micron_2450_MTFDKBA1T0TFK (2147334516DB)      Write Total                                             236883 MB
GPU [#0]: AMD Radeon 600M series:                    GPU Temperature                               41.3664436340332 °C
GPU [#0]: AMD Radeon 600M series:                    GPU Core Voltage (VDDCR_GFX)                 0.759027183055878 V
GPU [#0]: AMD Radeon 600M series:                    GPU SoC Power (VDDCR_SOC)                                    3 W
GPU [#0]: AMD Radeon 600M series:                    GPU ASIC Power                                              18 W
GPU [#0]: AMD Radeon 600M series:                    GPU Clock                                                  400 MHz
GPU [#0]: AMD Radeon 600M series:                    GPU Clock (Effective)                         433.176025390625 MHz
GPU [#0]: AMD Radeon 600M series:                    GPU Memory Clock                                          2400 MHz
GPU [#0]: AMD Radeon 600M series:                    GPU SoC Clock                                              400 MHz
GPU [#0]: AMD Radeon 600M series:                    GPU VCN Clock                                               12 MHz
GPU [#0]: AMD Radeon 600M series:                    GPU Utilization                                              0 %
GPU [#0]: AMD Radeon 600M series:                    GPU D3D Usage                                 23.7666586552254 %
GPU [#0]: AMD Radeon 600M series:                    GPU Video Decode 0 Usage                                     0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Video Decode 1 Usage                                     0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Video Encode 0 Usage                                     0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Computing (High Priority Compute) Usage                  0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Computing (Compute 3) Usage                              0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Computing (Compute 0) Usage                              0 %
GPU [#0]: AMD Radeon 600M series:                    GPU Computing (Compute 1) Usage                              0 %
GPU [#0]: AMD Radeon 600M series:                    GPU D3D Memory Dedicated                              431.6875 MB
GPU [#0]: AMD Radeon 600M series:                    GPU D3D Memory Dynamic                             400.5859375 MB
GPU [#0]: AMD Radeon 600M series:                    PCIe Link Speed                                             16 GT/s
GPU [#0]: AMD Radeon 600M series:                    GPU Memory Usage                                           880 MB
GPU [#0]: AMD Radeon 600M series:                    Throttle Reason - Power                                      0 Yes/No
GPU [#0]: AMD Radeon 600M series:                    Throttle Reason - Thermal                                    0 Yes/No
GPU [#0]: AMD Radeon 600M series:                    Throttle Reason - Current                                    0 Yes/No
GPU [#0]: AMD Radeon 600M series:                    Framerate                                                    0 FPS
Battery: ASUSTeK ASUS Battery                        Battery Voltage                                         15.933 V
Battery: ASUSTeK ASUS Battery                        Remaining Capacity                                      62.218 Wh
Battery: ASUSTeK ASUS Battery                        Charge Level                                  80.2667905152618 %
Battery: ASUSTeK ASUS Battery                        Wear Level                                                   0 %
RTSS                                                 Framerate                                     56.4000015258789 FPS
RTSS                                                 Frame Time                                             112.583 ms
Network: MediaTek, Device ID: 7922                   Total DL                                      16661.1272783279 MB
Network: MediaTek, Device ID: 7922                   Total UP                                      855.209715843201 MB
Network: MediaTek, Device ID: 7922                   Current DL rate                               1.50068979414683 KB/s
Network: MediaTek, Device ID: 7922                   Current UP rate                               1.27011253720238 KB/s
Windows Hardware Errors (WHEA)                       Total Errors                                                 0
 
Can you elaborate a bit. If recall right, gwildor's great script makes the MQTT pushing from PromDapter outputted data. So are you using MQTT as a target? And then in the process do you have multiple sources outputting same stuff.

Is the multiple sensors having same name also problem with the PromDapters initial Prometheus output that you get from http://localhost:10445/metrics?

I'm trying to understand if there are two problems I could fix. The MQTT pusher is on my too-delayed TODO list (which I could use other testers when I eventually get it done) and that multiple sensor thing I would like to address also. Just want to understand if it's in the PS script or in PromDapter output.
 
Hi Kallex

I use just the powershell script as posted above without MQTT.

Is the multiple sensors having same name also problem with the PromDapters initial Prometheus output that you get from http://localhost:10445/metrics?
I dont know, didnt get the results with the url. Here is the output from the ps script:

Code:
Source   : GPU [#0]: NVIDIA GeForce RTX 3060 Laptop:
Name     : GPU Core (NVVDD) Output Power
Value    : 0.35865625
Unit     : W
Category : SENSOR_TYPE_POWER


Source   : GPU [#0]: NVIDIA GeForce RTX 3060 Laptop:
Name     : GPU Core (NVVDD) Output Power
Value    : 0.851
Unit     : W
Category : SENSOR_TYPE_POWER

How can I adjust the Prometheusmapping.yaml to get these values so I can verify your question :)?
 
How can I adjust the Prometheusmapping.yaml to get these values so I can verify your question :)?

You can try to add catch all phrase in the last entry, but before aggregate values:

YAML:
- '(?<MetricName>.*)'

That should provide you all of your sensors.

It does that without trying to categorize any sensor names etc, so remember to remove it after the testing as it possibly messes up with your properly defined namings.
 
Ok, I can confirm its also with the url.

# HELP hwi_gpu_core_nvvdd_output_power_w GPU Core (NVVDD) Output Power W - GPU [#0]: NVIDIA GeForce RTX 3060 Laptop:
hwi_gpu_core_nvvdd_output_power_w{unit="W",sensor_type="SENSOR_TYPE_POWER",sensor="GPU Core (NVVDD) Output Power",source="GPU [#0]: NVIDIA GeForce RTX 3060 Laptop: ",host="NB-G14-CLERO"} 0
hwi_gpu_core_nvvdd_output_power_w{unit="W",sensor_type="SENSOR_TYPE_POWER",sensor="GPU Core (NVVDD) Output Power",source="GPU [#0]: NVIDIA GeForce RTX 3060 Laptop: ",host="NB-G14-CLERO"} 0.299625

*edit
this is also with the 4 Aquacomputer pumps
 
So if I understand it right, this GPU example has two sensors having equal name but are in fact different ones?

That's logically quite a tricky one, as if PromDapter's API sees them alike, there is no guarantee they'll be in the same order on every call. So automatically indexing them 1, 2, 3... or alike might or might not work.

EDIT: The HWINFO API might return them consistently in the same order, but PromDapter's processing isn't focusing to guarantee it remain that. There is for example parallel processing happening when sensor counts go above certain limits, and that will change the output order by itself.
 
Yes, thats right.

I know they might be in different order with indexing, but its ok in my case :) . Maybe there is some naming with hwinfo for multiple sensors with same name?
With hwinfo Steamdeck Plugin, I can see Aqua Pump #1 and #2 etc.
 
Oh yeah you can rename the sensor name in hwinfo, I don't remember if you can rename the source too.

But renaming either should be enough.
 
Hi Kallex,

I am currently trying to query the new PresentMon values. However, for some reason it does not want to work?
I would assume that the following line should work. I have renamed the framerate values.

# PresentMon
- '(?<Entity>PresentMon) (?<MetricName>Framerate_Presented|Framerate_Displayed|Frame Time|GPU Busy)

Do you have any idea what could be the cause?

Edit: Have solved it myself.
 
Last edited:
Back
Top