[ 
https://issues.apache.org/jira/browse/SOLR-10226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897649#comment-15897649
 ] 

Andrzej Bialecki  commented on SOLR-10226:
------------------------------------------

You're right - the {{Timer}} implementation that was used in Solr 6.3 and 
earlier internally used {{Histogram}}, which did not apply decaying to the 
total accumulated value. When we upgraded this class to a newer version from 
Codahale Metrics the underlying new implementation of {{Histogram}} does apply 
decaying to this value...

Anyway, we have to add back a simple counter to track the total value as 
"totalTime", which somehow disappeared for no good reason. From that you will 
be able again to calculate the non-decaying average time.

The question is what to do with avgTimePerRequest. In my opinion, moving 
forward we should keep the decaying avgTimePerRequest because it more correctly 
represents the recent state of the system as opposed to the cumulative 
non-decayed value, which doesn't really reflect anything in particular (there 
could have been extended periods of idle time followed by recent high activity, 
and the value would be still low even though the recent load was high).

CC [~otis].

> JMX metric avgTimePerRequest broken
> -----------------------------------
>
>                 Key: SOLR-10226
>                 URL: https://issues.apache.org/jira/browse/SOLR-10226
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: metrics
>    Affects Versions: 6.4.1
>            Reporter: Bojan Smid
>            Assignee: Andrzej Bialecki 
>
> JMX Metric avgTimePerRequest (of 
> org.apache.solr.handler.component.SearchHandler) doesn't appear to behave 
> correctly anymore. It was a cumulative value in pre-6.4 versions. Since 
> totalTime metric was removed (which was a base for monitoring calculations), 
> avgTimePerRequest seems like possible alternative to calculate "time spent in 
> requests since last measurement", but it behaves strangely after 6.4.
> I did a simple test on gettingstarted collection (just unpacked the Solr 
> 6.4.1 version and started it with "bin/solr start -e cloud -noprompt"). The 
> query I used was:
> http://localhost:8983/solr/gettingstarted/select?indent=on&q=*:*&wt=json
> I run it 30 times in a row (with approx 1 sec between executions).
> At the same time I was looking (with jconsole) at bean 
> solr/gettingstarted_shard2_replica2:type=/select,id=org.apache.solr.handler.component.SearchHandler
> Here is how metric was changing over time (first number is "requests" metric, 
> second number is "avgTimePerRequest"):
> 10   6.6033
> 12   5.9557
> 13   0.9015    ---> 13th req would need negative duration if this was 
> cumulative
> 15   6.7315
> 16   7.4873
> 17   0.8458    ---> same case with 17th request
> 23   6.1076
> At the same time bean 
> solr/gettingstarted_shard1_replica2:type=/select,id=org.apache.solr.handler.component.SearchHandler
>   also showed strange values:
> 6    5.13482
> 8    10.5694
> 9    0.504
> 10  0.344
> 12  8.8121
> 18  3.3531
> CC [~ab]



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to