I am trying to setup a visualization related to CPU performance for some of our application servers. I want to make sure that the visualization is providing the most accurate information to our customers. The Question I have is how is TopBeat calculating cpu.User and cpu.sys. What performance counters is topbeat looking at the OS?
Depends on the OS. On Linux, it is read from proc. On Windows, it's using the GetProcessTimes syscall.
For Windows is the GetProcessTime syscall comparable to the data in Perfmon?
Not sure how Perfmon is calculating the CPU usage, but it might have a different implementation than Topbeat. The value also depends on the time frame in which the CPU usage is calculated. Even if the values might be slightly different, they should be in the same range.