Some jvm metrics have a double dot in name like:
jvm.memory..total.max , jvm.memory..total.init (etc).
it seems that an extra dot is added at the end of the name in CassandraDaemon.java, around line 367 (in 3.0.10):
// enable metrics provided by metrics-jvm.jar
CassandraMetricsRegistry.Metrics.register("jvm.buffers.", new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()));
CassandraMetricsRegistry.Metrics.register("jvm.gc.", new GarbageCollectorMetricSet());
CassandraMetricsRegistry.Metrics.register("jvm.memory.", new MemoryUsageGaugeSet());
and also added in append method of MetricRegistry.
Call stack is:
MetricRegistry>>registerAll(String prefix, MetricSet metrics)
MetricRegistry>>static String name(String name, String... names)
MetricRegistry>>static void append(StringBuilder builder, String part)
and in append the dot is also added:
if(builder.length() > 0)
The codahale MetricRegistry class seems to have no recent modification of name or append methods, so it look like a small bug.
May be the fix could be to simply not to add the final dot in the metric name, ie "jvm.buffers" instead of "jvm.buffers."