When running multiple nodes on the same Windows server, the process cpu, exception rates, thread count, contention and garbage collector statistics are wrong.
When running multiple instances of the same .exe on Windows, the performance counter instance names are indexed randomly and can change at any time. To correctly read a value such as "Process/% Processor Time"; you must first find the correct instance name via "Process/ID Process" == pid. Then use that instance name to access the correct counter.
The current implementation uses only the un-indexed initial instance name. Therefore all instances on the same server have the same statistics.
Most helpful comment
https://github.com/EventStore/EventStore/blob/ec8ec115d14ca59ec3677209fb81942ce81d314b/src/EventStore.Core/Services/Monitoring/Utils/PerfCounterHelper.cs#L63
http://imgur.com/a/hKQ7G