I have an elastic search index, which has a time field which is java API response time in milliseconds.
Now i want to create a kibana data table visualization that will show api response time in diff bucket as follows :
Table 1:
api_name (% of api taking 100ms) (% of api taking 120ms) (% of api taking 150ms) (% of api taking 400ms) (% of api taking 1000ms)
x-api 50% 20% 15% 10% 5%
I have tried using Percentile Ranks Aggregation, but will add all previous data also, that i don't want. :
Table 2:
api_name (% of api taking 100ms) (% of api taking 120ms) (% of api taking 150ms) (% of api taking 400ms) (% of api taking 1000ms)
x-api 50% 70% 85% 95% 100%
So how I able to create Table -1 using kibana visualization?
If you are on Kibana 7.4.0 you can show the percentage of total in the Data Table. Then you could split the rows of the table on Ranges (0-100ms, 100-120ms, etc).
api_name (% of api taking 100ms) (% of api taking 120ms) (% of api taking 150ms) (% of api taking 400ms) (% of api taking 1000ms)
x-api 50% 20% 15% 10% 5%
y-api 60% 10% 15% 10% 5%
z-api 50% 30% 5% 10% 5%
This is what is want.
Provided solution not giving me answer to my problem.
You can split the table on api_name as well, in order to show the values for the other API.
Otherwise, regarding the percentages: there's 2 ways to display them, with the range or with the percentile ranks aggregation. What exactly do you need?
So i will say that, out of 100 x_api request,
50% completed in 100ms
20% completed in 120ms
15% completed in 150ms
10% completed in 400ms
5% completed in 1000ms
In a single table row.
So this means that ranges will work. Otherwise if you split them by "under x ms" you'll see that values for 100ms for example would qualify for 120ms as well.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.