Yep.  I would *never* use mean when it comes to performance to make any
sort of decisions.  I prefer to graph all the p99 latencies as well as the
max.

Some good reading on the topic:
https://bravenewgeek.com/everything-you-know-about-latency-is-wrong/

On Thu, May 30, 2019 at 7:35 AM Chris Lohfink <clohfin...@gmail.com> wrote:

> For what it is worth, generally I would recommend just using the mean vs
> calculating it yourself. It's a lot easier and averages are meaningless for
> anything besides trending anyway (which is really what this is useful for,
> finding issues on the larger scale), especially with high volume clusters
> so the loss in accuracy kinda moot. Your average for local reads/writes
> will almost always be sub millisecond but you might end up having 500
> millisecond requests or worse that the mean will hide.
>
> Chris
>
> On Thu, May 30, 2019 at 6:30 AM shalom sagges <shalomsag...@gmail.com>
> wrote:
>
>> Thanks for your replies guys. I really appreciate it.
>>
>> @Alain, I use Graphite for backend on top of Grafana. But the goal is to
>> move from Graphite to Prometheus eventually.
>>
>> I tried to find a direct way of getting a specific Latency metric in
>> average and as Chris pointed out, then Mean value isn't that accurate.
>> I do not wish to use the percentile metrics either, but a single latency
>> metric like the *"Local read latency" *output in nodetool tablestats.
>> Looking at the code of nodetool tablestats, it seems that C* also divides
>> *ReadTotalLatency.Count* with *ReadLatency.Count *to get the latency
>> result.
>>
>> So I guess I will have no choice but to run the calculation on my own via
>> Graphite:
>>
>> divideSeries(averageSeries(keepLastValue(nonNegativeDerivative($env.path.to.host.$host.org_apache_cassandra_metrics.Table.$ks.$cf.ReadTotalLatency.Count))),averageSeries(keepLastValue(nonNegativeDerivative($env.path.to.host.$host.org_apache_cassandra_metrics.Table.$ks.$cf.ReadLatency.Count))))
>>
>> Does this seem right to you?
>>
>> Thanks!
>>
>> On Thu, May 30, 2019 at 12:34 AM Paul Chandler <p...@redshots.com> wrote:
>>
>>> There are various attributes under
>>> org.apache.cassandra.metrics.ClientRequest.Latency.Read these measure the
>>> latency in milliseconds
>>>
>>> Thanks
>>>
>>> Paul
>>> www.redshots.com
>>>
>>> > On 29 May 2019, at 15:31, shalom sagges <shalomsag...@gmail.com>
>>> wrote:
>>> >
>>> > Hi All,
>>> >
>>> > I'm creating a dashboard that should collect read/write latency
>>> metrics on C* 3.x.
>>> > In older versions (e.g. 2.0) I used to divide the total read latency
>>> in microseconds with the read count.
>>> >
>>> > Is there a metric attribute that shows read/write latency without the
>>> need to do the math, such as in nodetool tablestats "Local read latency"
>>> output?
>>> > I saw there's a Mean attribute in
>>> org.apache.cassandra.metrics.ReadLatency but I'm not sure this is the right
>>> one.
>>> >
>>> > I'd really appreciate your help on this one.
>>> > Thanks!
>>> >
>>> >
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>>
>>>

Reply via email to