Ive been looking into JMX metrics being exported from puppet and am not clear on how to interpret them. This particular one is supposed to be measuring the package compiler but it's not clear (to me) what it's saying.
Example data:
{
"request": {
"mbean": "puppetserver:name=puppetlabs.localhost.compiler.compile.develop",
"type": "read"
},
"value": {
"Mean": 515.8850223496175,
"StdDev": 15.410435420213828,
"75thPercentile": 533,
"98thPercentile": 533,
"RateUnit": "events/second",
"95thPercentile": 533,
"99thPercentile": 533,
"Max": 853,
"Count": 188,
"FiveMinuteRate": 0.004556108829698143,
"50thPercentile": 502,
"MeanRate": 0.0026130935976092762,
"Min": 386,
"OneMinuteRate": 0.002335841296852807,
"DurationUnit": "milliseconds",
"999thPercentile": 533,
"FifteenMinuteRate": 0.003374163757709876
},
"timestamp": 1543151404,
"status": 200
}
There appear to be several types of stats mixed together. What do [Rate|Duration]Unit correspond to? Mean / stddev seem straightforward.. but what are they measuring? Does this say "515 events / sec" or "515 ms / event" ? The "MeanRate" - ".002 events / sec or msec/event"?
I think for this particular metric, it's measuring the time spent compiling and the various Max, Min, Mean, etc. are the duration measured in
DurationUnit
's, i.e. milliseconds. The rate is measuring how often a compile event occurs, measured inRateUnit
's, i.e. events per second. The Count metric is also showing you how many events have occurred since startup.So you've had 188 compile events, at a mean rate of 0.0026 events per second and the mean duration is 515 milliseconds.