Does ES have the 99th percentile time of request?

Hello everyone, I'm new to ES, and I'm recently replacing our company's Solr with ES.
Our current monitoring is to use the elasticsearch-exporter provided by the prometheus community to record the system operation information into prometheus. And then use grafana to draw some charts.

I think elasticsearch-exporter reads system operation information from admin/metrics interface of ES.

Then I found that it seems that the admin/metrics interface of ES does not provide the 99th percentile time information of the query .

The reason for asking this question is because I know Solr has this indicator.
which Solr's document describing:

p99_ms: Request processing time in milliseconds for the request which belongs to the 99th Percentile. E.g., if 100 requests are received, then the 99th fastest request time will be reported in this statistic.

https://solr.apache.org/guide/8_11/performance-statistics-reference.html

ES don't record p99_ms or I missed something?

If I confirm that ES itself does not provide this indicator, I feel that there are only three ways to solve it:

  1. Find a way to let ES support the 99th percentile statistics through plug-ins, and then change the exporter myself, I don't know if this can be achieved.

  2. Call the system from the outside for statistics, such as adding a gateway.

  3. In addition, make a log system, collect all ES logs, record the took time in the response, and then make statistics by myself.

Which idea is better for ES?

(Forgive my poor english)

In addition, p99 in Solr is counted at core granularity (each core corresponds to a lucene index), in terms of ES terminology, per shard I think (primary and replica respectively).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.