You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Alain Rastoul (JIRA)" <ji...@apache.org> on 2017/01/05 19:58:58 UTC

[jira] [Updated] (CASSANDRA-13103) incorrect jvm metric names

     [ https://issues.apache.org/jira/browse/CASSANDRA-13103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alain Rastoul updated CASSANDRA-13103:
--------------------------------------
    Description: 
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) {
                builder.append('.');
            }
            builder.append(part);
...

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."


  was:
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) {
                builder.append('.');
            }
            builder.append(part);
...

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 remove the final dot ?



> incorrect jvm metric names
> --------------------------
>
>                 Key: CASSANDRA-13103
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13103
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Observability
>            Reporter: Alain Rastoul
>            Priority: Minor
>
> 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) {
>                 builder.append('.');
>             }
>             builder.append(part);
> ...
> 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."



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)