I want to create a custom sensor which includes a channel with the same value calculations that PRTG gets from the builtin WMI Logical Disk , DiskTransfersPersec. Here are the log from the output of this sensor:
|SELECT Name,DiskTransfersPersec,Timestamp_Perftime,Frequency_PerfTime FROM win32_perfrawdata_perfdisk_logicaldisk WHERE Name = 'xxxxx'|
DiskTransfersPersec: 1637361, 1669085, 1669085, 1669087, 1669087, 1669089 Timestamp_Perftime: 2213083418143, 2213484469961, 2213683213930, 2214283208790, 2214303262986, 2214883263939 Frequency_PerfTime: 10000000 Value: 1245.04612144818, 791.019977373597, 0, 0.0333336188913352, 0, 0.0344827019620432
I would like to know how PRTG calulates the output values so i can use the same calculations in my custom script. I want to fetch data from win32_perfrawdata_perfdisk_logicaldisk but as we can see DiskTransfersPersec differs from the output value. Some magic is happening here to calculate the value i dont understand!
The reason for this is that the output value represent the exact IO value i get from Iometer when running tests, and it correctly represents the IO i want to display in PRTG custom sensor.