使用 JMX Metrics 计算写入延迟

calculate write latency using JMX Metrics

我试图了解我通过 jolokia 从 cassandra 集群获得的 jmx 指标,但没有成功,

我已经使用这个 jmx api 来获得写入延迟

/read/org.apache.cassandra.metrics:type=Table,keyspace=dummy,scope=dummydata,name=WriteLatency

请帮助我理解指标,无法从文档中获得清晰的解释。

在哪里可以像使用 nodetool 的 tablestats 一样从这个指标中获取延迟值

{'status': 200, 'value': {'RateUnit': 'events/second', 'FiveMinuteRate': 1087.2892929429897, 'Max': 25109.16, '99thPercentile': 88.148, 'Count': 857256, '95thPercentile': 61.214, '98thPercentile': 73.45700000000001, 'MeanRate': 800.769491978301, '999thPercentile': 219.342, 'FifteenMinuteRate': 675.9521666587659, 'Mean': 35.578490977930414, 'StdDev': 133.86544518871287, 'DurationUnit': 'microseconds', 'Min': 11.865, 'OneMinuteRate': 774.2469977163188, '50thPercentile': 29.521, '75thPercentile': 35.425000000000004}, 'timestamp': 1552375557, 'request': {'type': 'read', 'mbean': 'org.apache.cassandra.metrics:keyspace=dummy,name=WriteLatency,scope=dummytable,type=Table'}}

您将通过 JMX 阅读指标获得更多详细信息。以下是 nodetool tablestats 输出如何匹配 jmx 输出:

nodetool tablestats dummykeyspace.dummytable | grep "Local write count" = org.apache.cassandra.metrics:keyspace=dummykeyspace,name=WriteLatency,scope=dummytable,type=Table Count

nodetool tablestats dummykeyspace.dummytable | grep "Local write latency" = org.apache.cassandra.metrics:keyspace=dummykeyspace,name=WriteLatency,scope=dummytable,type=Table Mean

这里是 Cassandra 指标的概述,显示了收集的指标类型,以及每个 table 可用的指标: https://cassandra.apache.org/doc/latest/operating/metrics.html

如该页面所述,指标由此处记录的代码管理:https://metrics.dropwizard.io/4.0.0/manual/core.html,对于回答有关计算指标的时间长度的问题最有用。