On 01/04/2017 11:12 PM, Edward Capriolo wrote:
The metric-reporter is actually leveraged from another project.

https://github.com/addthis/metrics-reporter-config

Check the version of metric-reporter (in cassandra/lib) and see if it
has changed from your old version to your new version.




On Wed, Jan 4, 2017 at 12:02 PM, Mike Torra <mto...@demandware.com
<mailto:mto...@demandware.com>> wrote:

    Just bumping - has anyone seen this before?

    
http://stackoverflow.com/questions/41446352/cassandra-3-9-jvm-metrics-have-bad-name
    
<http://stackoverflow.com/questions/41446352/cassandra-3-9-jvm-metrics-have-bad-name>

    From: Mike Torra <mto...@demandware.com <mailto:mto...@demandware.com>>
    Reply-To: "user@cassandra.apache.org
    <mailto:user@cassandra.apache.org>" <user@cassandra.apache.org
    <mailto:user@cassandra.apache.org>>
    Date: Wednesday, December 28, 2016 at 4:49 PM
    To: "user@cassandra.apache.org <mailto:user@cassandra.apache.org>"
    <user@cassandra.apache.org <mailto:user@cassandra.apache.org>>
    Subject: weird jvm metrics

    Hi There -

    I recently upgraded from cassandra 3.5 to 3.9 (DDC), and I noticed
    that the "new" jvm metrics are reporting with an extra '.' character
    in them. Here is a snippet of what I see from one of my nodes:

    ubuntu@ip-10-0-2-163:~$ sudo tcpdump -i eth0 -v dst port 2003 -A |
    grep 'jvm'

    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture
    size 65535 bytes

    .Je..l>.pi.cassandra.us-east-1.cassy-node1.jvm.buffers..direct.capacity
    762371494 1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.buffers..direct.count 3054
    1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.buffers..direct.used
    762371496 1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.buffers..mapped.capacity
    515226631134 1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.buffers..mapped.count 45572
    1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.buffers..mapped.used
    515319762610 1482960946

    pi.cassandra.us-east-1.cassy-node1.jvm.fd.usage 0.00 1482960946


    My metrics.yaml looks like this:

    graphite:
       -
         period: 60
         timeunit: 'SECONDS'
         prefix: 'pi.cassandra.us-east-1.cassy-node1'
         hosts:
          - host: '#RELAY_HOST#'
            port: 2003
         predicate:
           color: "white"
           useQualifiedName: true
           patterns:
             - "^org.+"
             - "^jvm.+"
             - "^java.lang.+"

    All the org.* metrics come through fine, and the jvm.fd.usage metric
    strangely comes through fine, too. The rest of the jvm.* metrics
    have this extra '.' character that causes them to not show up in
    graphite.

    Am I missing something silly here? Appreciate any help or suggestions.

    - Mike


Hi,

I also noticed this problem recently.
Some jvm metrics have a double dot in name like:
jvm.memory..total.max , jvm.memory..total.init (etc).
Investigating a bit, 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)

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 looks like a small (but annoying) bug.
May be the fix could be to simply remove the final dot ?

Is it worth opening an issue in JIRA ?


--
best,
Alain

Reply via email to