You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Memory metrics generated have single quotes in their names.
For example: jvm.memory.pools.CodeHeap-'profiled-nmethods'
This starts in Java 9 with extra pools that were added as part of JEP 197.
This breaks our graphite which creates the directory for these whisper metrics that does not contain spaces (mkdir strips the spaces out from the name).
When subsequent updates are received for the metric they fail as they are looking for the directory with quotes in the name.
A safe solution would be replacing quotes in the pool name, just as you do for whitespaces.
On closer inspection it looks like this was already done here #637 and rolled back here #1099.
I'm happy with leaving only basic sanitation, we can make a fix for our environment and in newer versions of graphite (we are still on 0.9.10) I don't think it is a problem.
However I'm not sure why the MemoryUsageGaugeSet needs to reimplement it's own sanitizer. It looks like it doesn't need to if metric names are sanitized in the GraphiteSenders.
Memory metrics generated have single quotes in their names.
For example:
jvm.memory.pools.CodeHeap-'profiled-nmethods'
This starts in Java 9 with extra pools that were added as part of JEP 197.
This breaks our graphite which creates the directory for these whisper metrics that does not contain spaces (mkdir strips the spaces out from the name).
When subsequent updates are received for the metric they fail as they are looking for the directory with quotes in the name.
A safe solution would be replacing quotes in the pool name, just as you do for whitespaces.
metrics/metrics-jvm/src/main/java/com/codahale/metrics/jvm/MemoryUsageGaugeSet.java
Line 80 in 3748f09
The text was updated successfully, but these errors were encountered: