Metrics avgRequestsPerSecond and avgRequestsPerSecond from documentation gone?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Metrics avgRequestsPerSecond and avgRequestsPerSecond from documentation gone?

Koen De Groote
Greetings,

I'm using Solr 7.6 and have enabled JMX metrics.

I ran into this page:
https://lucene.apache.org/solr/guide/7_6/performance-statistics-reference.html#commonly-used-stats-for-request-handlers

Which mentions "avgRequestsPerSecond" and "avgTimePerRequest" and some
other attributes, which do not exist anymore in this version. I have an
older version(4) I spun up to have a look and they do exist in that version.

When getting info on a QUERY or UPDATE bean with name `requestTimes`, I get
this:

# attributes
  %0   - 50thPercentile (double, r)
  %1   - 75thPercentile (double, r)
  %2   - 95thPercentile (double, r)
  %3   - 98thPercentile (double, r)
  %4   - 999thPercentile (double, r)
  %5   - 99thPercentile (double, r)
  %6   - Count (long, r)
  %7   - DurationUnit (java.lang.String, r)
  %8   - FifteenMinuteRate (double, r)
  %9   - FiveMinuteRate (double, r)
  %10  - Max (double, r)
  %11  - Mean (double, r)
  %12  - MeanRate (double, r)
  %13  - Min (double, r)
  %14  - OneMinuteRate (double, r)
  %15  - RateUnit (java.lang.String, r)
  %16  - StdDev (double, r)
  %17  - _instanceTag (java.lang.String, r)
# operations
  %0   - javax.management.ObjectName objectName()
  %1   - [J values()
#there's no notifications

And it seems that none of the current values are actually a proper
replacement for the functionality these values used to offer.

How shall I go about getting this info now? Do I need to combine several
other metrics?

For completeness sake, my solr.xml, where I enabled JMX, is just the
default example from the documentation, with JMX added:


<solr>
    <solrcloud>
        <str name="host">${host:}</str>
        <int name="hostPort">${jetty.port:8983}</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
        <bool
name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    </solrcloud>
    <shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
        <int name="socketTimeout">${socketTimeout:0}</int>
        <int name="connTimeout">${connTimeout:0}</int>
    </shardHandlerFactory>
    <metrics>
        <hiddenSysProps>
            <str>javax.net.ssl.keyStorePassword</str>
            <str>javax.net.ssl.trustStorePassword</str>
            <str>basicauth</str>
            <str>zkDigestPassword</str>
            <str>zkDigestReadonlyPassword</str>
        </hiddenSysProps>
        <reporter name="defaultJmx"
class="org.apache.solr.metrics.reporters.SolrJmxReporter">
            <str
name="rootName">very_obvious_name_for_easy_reading_${jetty.port:8983}</str>
        </reporter>
    </metrics>
</solr>


Kind regards,
Koen De Groote
Reply | Threaded
Open this post in threaded view
|

Re: Metrics avgRequestsPerSecond and avgRequestsPerSecond from documentation gone?

Andrzej Białecki-2
Hi,

Yes, the documentation needs to be fixed, these attributes have been removed or replaced.

* avgRequestsPerSecond -> requestTimes:meanRate. Please note that this is a non-decaying simple average based on the total wall clock time elapsed since the handler was started until NOW, and the total number of requests the handler processed in this time.

* avgTimePerRequest =  totalTime / requests (in nano-seconds). Please note that the “totalTime” metric represents the aggregated elapsed time when the handler was processing requests (ie. not including all other elapsed time when the handler was just sitting idle). Perhaps a better name for this metric would be “totalProcessingTime”.

> On 19 Nov 2019, at 17:35, Koen De Groote <[hidden email]> wrote:
>
> Greetings,
>
> I'm using Solr 7.6 and have enabled JMX metrics.
>
> I ran into this page:
> https://lucene.apache.org/solr/guide/7_6/performance-statistics-reference.html#commonly-used-stats-for-request-handlers
>
> Which mentions "avgRequestsPerSecond" and "avgTimePerRequest" and some
> other attributes, which do not exist anymore in this version. I have an
> older version(4) I spun up to have a look and they do exist in that version.
>
> When getting info on a QUERY or UPDATE bean with name `requestTimes`, I get
> this:
>
> # attributes
>  %0   - 50thPercentile (double, r)
>  %1   - 75thPercentile (double, r)
>  %2   - 95thPercentile (double, r)
>  %3   - 98thPercentile (double, r)
>  %4   - 999thPercentile (double, r)
>  %5   - 99thPercentile (double, r)
>  %6   - Count (long, r)
>  %7   - DurationUnit (java.lang.String, r)
>  %8   - FifteenMinuteRate (double, r)
>  %9   - FiveMinuteRate (double, r)
>  %10  - Max (double, r)
>  %11  - Mean (double, r)
>  %12  - MeanRate (double, r)
>  %13  - Min (double, r)
>  %14  - OneMinuteRate (double, r)
>  %15  - RateUnit (java.lang.String, r)
>  %16  - StdDev (double, r)
>  %17  - _instanceTag (java.lang.String, r)
> # operations
>  %0   - javax.management.ObjectName objectName()
>  %1   - [J values()
> #there's no notifications
>
> And it seems that none of the current values are actually a proper
> replacement for the functionality these values used to offer.
>
> How shall I go about getting this info now? Do I need to combine several
> other metrics?
>
> For completeness sake, my solr.xml, where I enabled JMX, is just the
> default example from the documentation, with JMX added:
>
>
> <solr>
>    <solrcloud>
>        <str name="host">${host:}</str>
>        <int name="hostPort">${jetty.port:8983}</int>
>        <str name="hostContext">${hostContext:solr}</str>
>        <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
>        <bool
> name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
>    </solrcloud>
>    <shardHandlerFactory name="shardHandlerFactory"
> class="HttpShardHandlerFactory">
>        <int name="socketTimeout">${socketTimeout:0}</int>
>        <int name="connTimeout">${connTimeout:0}</int>
>    </shardHandlerFactory>
>    <metrics>
>        <hiddenSysProps>
>            <str>javax.net.ssl.keyStorePassword</str>
>            <str>javax.net.ssl.trustStorePassword</str>
>            <str>basicauth</str>
>            <str>zkDigestPassword</str>
>            <str>zkDigestReadonlyPassword</str>
>        </hiddenSysProps>
>        <reporter name="defaultJmx"
> class="org.apache.solr.metrics.reporters.SolrJmxReporter">
>            <str
> name="rootName">very_obvious_name_for_easy_reading_${jetty.port:8983}</str>
>        </reporter>
>    </metrics>
> </solr>
>
>
> Kind regards,
> Koen De Groote

Reply | Threaded
Open this post in threaded view
|

Re: Metrics avgRequestsPerSecond and avgRequestsPerSecond from documentation gone?

Koen De Groote
Thanks for that.

On Wed, Nov 20, 2019 at 4:48 PM Andrzej Białecki <[hidden email]> wrote:

> Hi,
>
> Yes, the documentation needs to be fixed, these attributes have been
> removed or replaced.
>
> * avgRequestsPerSecond -> requestTimes:meanRate. Please note that this is
> a non-decaying simple average based on the total wall clock time elapsed
> since the handler was started until NOW, and the total number of requests
> the handler processed in this time.
>
> * avgTimePerRequest =  totalTime / requests (in nano-seconds). Please note
> that the “totalTime” metric represents the aggregated elapsed time when the
> handler was processing requests (ie. not including all other elapsed time
> when the handler was just sitting idle). Perhaps a better name for this
> metric would be “totalProcessingTime”.
>
> > On 19 Nov 2019, at 17:35, Koen De Groote <[hidden email]>
> wrote:
> >
> > Greetings,
> >
> > I'm using Solr 7.6 and have enabled JMX metrics.
> >
> > I ran into this page:
> >
> https://lucene.apache.org/solr/guide/7_6/performance-statistics-reference.html#commonly-used-stats-for-request-handlers
> >
> > Which mentions "avgRequestsPerSecond" and "avgTimePerRequest" and some
> > other attributes, which do not exist anymore in this version. I have an
> > older version(4) I spun up to have a look and they do exist in that
> version.
> >
> > When getting info on a QUERY or UPDATE bean with name `requestTimes`, I
> get
> > this:
> >
> > # attributes
> >  %0   - 50thPercentile (double, r)
> >  %1   - 75thPercentile (double, r)
> >  %2   - 95thPercentile (double, r)
> >  %3   - 98thPercentile (double, r)
> >  %4   - 999thPercentile (double, r)
> >  %5   - 99thPercentile (double, r)
> >  %6   - Count (long, r)
> >  %7   - DurationUnit (java.lang.String, r)
> >  %8   - FifteenMinuteRate (double, r)
> >  %9   - FiveMinuteRate (double, r)
> >  %10  - Max (double, r)
> >  %11  - Mean (double, r)
> >  %12  - MeanRate (double, r)
> >  %13  - Min (double, r)
> >  %14  - OneMinuteRate (double, r)
> >  %15  - RateUnit (java.lang.String, r)
> >  %16  - StdDev (double, r)
> >  %17  - _instanceTag (java.lang.String, r)
> > # operations
> >  %0   - javax.management.ObjectName objectName()
> >  %1   - [J values()
> > #there's no notifications
> >
> > And it seems that none of the current values are actually a proper
> > replacement for the functionality these values used to offer.
> >
> > How shall I go about getting this info now? Do I need to combine several
> > other metrics?
> >
> > For completeness sake, my solr.xml, where I enabled JMX, is just the
> > default example from the documentation, with JMX added:
> >
> >
> > <solr>
> >    <solrcloud>
> >        <str name="host">${host:}</str>
> >        <int name="hostPort">${jetty.port:8983}</int>
> >        <str name="hostContext">${hostContext:solr}</str>
> >        <int name="zkClientTimeout">${zkClientTimeout:15000}</int>
> >        <bool
> > name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
> >    </solrcloud>
> >    <shardHandlerFactory name="shardHandlerFactory"
> > class="HttpShardHandlerFactory">
> >        <int name="socketTimeout">${socketTimeout:0}</int>
> >        <int name="connTimeout">${connTimeout:0}</int>
> >    </shardHandlerFactory>
> >    <metrics>
> >        <hiddenSysProps>
> >            <str>javax.net.ssl.keyStorePassword</str>
> >            <str>javax.net.ssl.trustStorePassword</str>
> >            <str>basicauth</str>
> >            <str>zkDigestPassword</str>
> >            <str>zkDigestReadonlyPassword</str>
> >        </hiddenSysProps>
> >        <reporter name="defaultJmx"
> > class="org.apache.solr.metrics.reporters.SolrJmxReporter">
> >            <str
> >
> name="rootName">very_obvious_name_for_easy_reading_${jetty.port:8983}</str>
> >        </reporter>
> >    </metrics>
> > </solr>
> >
> >
> > Kind regards,
> > Koen De Groote
>
>