Use the percentiles_array aggregation function in APL to calculate multiple percentile values over a numeric expression in one pass. This function is useful when you want to understand the distribution of numeric data points, such as response times or durations, by summarizing them at several key percentiles like the 25th, 50th, and 95th.

You can use percentiles_array to:

  • Analyze latency or duration metrics across requests or operations.
  • Identify performance outliers.
  • Visualize percentile distributions in dashboards.

For users of other query languages

If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.

Usage

Syntax

percentiles_array(Field, Percentile1, Percentile2, ...)

Parameters

  • Field is the name of the field for which you want to compute percentile values.
  • Percentile1, Percentile2, … are numeric percentile values between 0 and 100.

Returns

An array of numbers where each element is the value at the corresponding percentile.

Use case examples

Use percentiles_array to understand the spread of request durations per HTTP method, highlighting performance variability.

Query

['sample-http-logs']
| summarize percentiles_array(req_duration_ms, 25, 50, 95) by method

Run in Playground

Output

methodP25P50P95
GET0.3981 ms0.7352 ms1.981 ms
POST0.3261 ms0.7162 ms2.341 ms
PUT0.3324 ms0.7772 ms1.341 ms
DELETE0.2332 ms0.4652 ms1.121 ms

This query calculates the 25th, 50th, and 95th percentiles of request durations for each HTTP method. It helps identify performance differences between different methods.

  • avg: Returns the average value. Use it when a single central tendency is sufficient.
  • percentile: Returns a single percentile value. Use it when you only need one percentile.
  • percentile_if: Returns a single percentile value for the records that satisfy a condition.
  • percentiles_arrayif: Returns an array of percentile values for the records that satisfy a condition.
  • sum: Returns the sum of a numeric column.