load required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE STARTS_WITH(instance, "hand-rolled") | KEEP @timestamp, instance, responseTime | SORT instance ; @timestamp:date | instance:keyword | responseTime:tdigest 2025-01-01T00:00:00Z | hand-rolled | "{""min"": 0.1, ""max"": 0.5, ""sum"": 16.4, ""centroids"":[0.1,0.2,0.3,0.4,0.5], ""counts"":[3,7,23,12,6]}" 2025-01-01T00:00:00Z | hand-rolled-empty | "{""centroids"":[], ""counts"":[]}" ; allAggsUngrouped required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS min = MIN(responseTime), max = MAX(responseTime), p90 = PERCENTILE(responseTime,90), sum = SUM(responseTime), avg = AVG(responseTime) | EVAL p90 = ROUND(p90, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP min, max, p90, sum, avg ; min:double | max:double | p90:double | sum:double | avg:double 2.17E-4 | 6.786232 | 0.4 | 1536.648714 | 0.0993245 ; allAggsGrouped required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS min = MIN(responseTime), max = MAX(responseTime), p95 = PERCENTILE(responseTime,95), sum = SUM(responseTime), avg = AVG(responseTime) BY instance | EVAL p95 = ROUND(p95 + 0.025, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP instance, min, max, p95, sum, avg | SORT instance ; instance:keyword | min:double | max:double | p95:double | sum:double | avg:double instance-0 | 2.4E-4 | 6.786232 | 0.7 | 1472.744209 | 0.1665812 instance-1 | 2.17E-4 | 3.190723 | 0.1 | 36.198484 | 0.011138 instance-2 | 2.2E-4 | 2.744054 | 0.1 | 27.706021 | 0.008197 ; ungroupedPercentiles required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS p0 = PERCENTILE(responseTime,0), p50 = PERCENTILE(responseTime,50), p95 = PERCENTILE(responseTime, 95), p100 = PERCENTILE(responseTime,100) | EVAL p50 = ROUND(p50, 1), p95 = ROUND(p95, 1) // rounding to avoid floating point precision issues, min and max are exact so no rounding needed | KEEP p0, p50, p95, p100 ; p0:double | p50:double | p95:double | p100:double 2.17E-4 | 0.0 | 0.6 | 6.786232 ; groupedPercentiles required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS p0 = PERCENTILE(responseTime,0), p50 = PERCENTILE(responseTime,50), p95 = PERCENTILE(responseTime, 95), p100 = PERCENTILE(responseTime,100) BY instance | EVAL p50 = ROUND(p50, 1), p95 = ROUND(p95 + 0.025, 1) // rounding to avoid floating point precision issues, min and max are exact so no rounding needed | KEEP instance, p0, p50, p95, p100 | SORT instance ; instance:keyword | p0:double | p50:double | p95:double | p100:double instance-0 | 2.4E-4 | 0.0 | 0.7 | 6.786232 instance-1 | 2.17E-4 | 0.0 | 0.1 | 3.190723 instance-2 | 2.2E-4 | 0.0 | 0.1 | 2.744054 ; percentileOnEmptyTDigest required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE instance == "hand-rolled-empty" | STATS p50 = PERCENTILE(responseTime,50) | KEEP p50 ; p50:double NULL ; allAggsFiltered required_capability: tdigest_tech_preview FROM tdigest_standard_index | STATS min = MIN(responseTime) WHERE instance == "instance-0", max = MAX(responseTime) WHERE instance == "instance-1", p95 = PERCENTILE(responseTime,95) WHERE instance == "instance-0", sum = SUM(responseTime) WHERE instance == "instance-1", avg = AVG(responseTime) WHERE instance == "instance-2" | EVAL p95 = ROUND(p95, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP min, max, p95, sum, avg ; min:double | max:double | p95:double | sum:double | avg:double 2.4E-4 | 3.190723 | 0.7 | 36.198484 | 0.008197 ; allAggsGroupedFiltered required_capability: tdigest_tech_preview FROM tdigest_standard_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS min = MIN(responseTime) WHERE instance == "instance-0", max = MAX(responseTime) WHERE instance == "instance-1", p95 = PERCENTILE(responseTime,95) WHERE instance == "instance-0", sum = SUM(responseTime) WHERE instance == "instance-1", avg = AVG(responseTime) WHERE instance == "instance-2" BY instance | EVAL p95 = ROUND(p95, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP instance, min, max, p95, sum, avg | SORT instance ; instance:keyword | min:double | max:double | p95:double | sum:double | avg:double instance-0 | 2.4E-4 | null | 0.7 | null | null instance-1 | null | 3.190723 | null | 36.198484 | null instance-2 | null | null | null | null | 0.008197 ; Case return value test (Standard Mode) required_capability: tdigest_tech_preview required_capability: case_support_for_summary_fields FROM tdigest_standard_index | WHERE STARTS_WITH(instance, "hand-rolled") | EVAL result = CASE(instance == "hand-rolled-empty", caseTestPlaceholder, responseTime) | KEEP result ; ignoreOrder:true result:tdigest "{""centroids"":[3, 5],""counts"":[8, 32]}" "{""min"": 0.1, ""max"": 0.5, ""sum"": 16.4, ""centroids"":[0.1,0.2,0.3,0.4,0.5], ""counts"":[3,7,23,12,6]}" ; Case return value test (TS Mode) required_capability: tdigest_tech_preview required_capability: case_support_for_summary_fields TS tdigest_timeseries_index | WHERE STARTS_WITH(instance, "hand-rolled") | EVAL result = CASE(instance == "hand-rolled-empty", caseTestPlaceholder, responseTime) | KEEP result ; ignoreOrder:true result:tdigest "{""centroids"":[3, 5],""counts"":[8, 32]}" "{""min"": 0.1, ""max"": 0.5, ""sum"": 16.4, ""centroids"":[0.1,0.2,0.3,0.4,0.5], ""counts"":[3,7,23,12,6]}" ; allAggsGroupedEmptyGroups required_capability: tdigest_tech_preview FROM tdigest_standard_index | STATS min = MIN(responseTime) WHERE instance == "idontexist" , max = MAX(responseTime) WHERE instance == "idontexist", p75 = PERCENTILE(responseTime,75) WHERE instance == "idontexist", sum = SUM(responseTime) WHERE instance == "idontexist", avg = AVG(responseTime) WHERE instance == "idontexist" | KEEP min, max, p75, sum, avg ; min:double | max:double | p75:double | sum:double | avg:double NULL | NULL | NULL | NULL | NULL ; timeseriesAllAggsUngrouped required_capability: tdigest_tech_preview required_capability: ts_command_v0 TS tdigest_timeseries_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | STATS min = MIN(responseTime), max = MAX(responseTime), p90 = PERCENTILE(responseTime,90), sum = SUM(responseTime), avg = AVG(responseTime) | EVAL p90 = ROUND(p90, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP min, max, p90, sum, avg ; min:double | max:double | p90:double | sum:double | avg:double 2.17E-4 | 6.786232 | 0.4 | 1536.648714 | 0.0993245 ; timeseriesAllAggsGrouped required_capability: tdigest_tech_preview required_capability: ts_command_v0 TS tdigest_timeseries_index | WHERE NOT STARTS_WITH(instance, "hand-rolled") | WHERE TRANGE(to_datetime("2025-09-25T00:30:00Z"), to_datetime("2025-09-25T01:00:00Z")) | STATS min = MIN(responseTime), max = MAX(responseTime), p90 = PERCENTILE(responseTime,90), sum = SUM(responseTime), avg = AVG(responseTime) BY instance, time=TBUCKET(10m) | EVAL p90 = ROUND(p90, 1), sum = ROUND(sum, 7), avg = ROUND(avg, 7) // rounding to avoid floating point precision issues | KEEP instance, time, min, max, p90, sum, avg | SORT instance, time ; instance:keyword | time:datetime | min:double | max:double | p90:double | sum:double | avg:double instance-0 | 2025-09-25T00:30:00.000Z | 2.5E-4 | 1.291403 | 0.5 | 128.220162 | 0.1582965 instance-0 | 2025-09-25T00:40:00.000Z | 2.93E-4 | 1.381711 | 0.5 | 139.229386 | 0.1567898 instance-0 | 2025-09-25T00:50:00.000Z | 2.57E-4 | 1.337726 | 0.5 | 146.914416 | 0.1680943 instance-0 | 2025-09-25T01:00:00.000Z | 3.58E-4 | 1.384036 | 0.5 | 15.216617 | 0.1729161 instance-1 | 2025-09-25T00:30:00.000Z | 2.37E-4 | 0.144625 | 0.0 | 1.323601 | 0.0046119 instance-1 | 2025-09-25T00:40:00.000Z | 2.33E-4 | 0.189058 | 0.0 | 1.422738 | 0.0049746 instance-1 | 2025-09-25T00:50:00.000Z | 2.29E-4 | 0.06199 | 0.0 | 0.737455 | 0.0025695 instance-1 | 2025-09-25T01:00:00.000Z | 3.31E-4 | 0.252402 | 0.0 | 0.399745 | 0.0133248 instance-2 | 2025-09-25T00:30:00.000Z | 2.21E-4 | 0.136683 | 0.0 | 1.710478 | 0.0057982 instance-2 | 2025-09-25T00:40:00.000Z | 2.25E-4 | 0.098632 | 0.0 | 1.278917 | 0.0041255 instance-2 | 2025-09-25T00:50:00.000Z | 2.2E-4 | 0.092109 | 0.0 | 0.946027 | 0.0032622 instance-2 | 2025-09-25T01:00:00.000Z | 2.45E-4 | 0.008362 | 0.0 | 0.033433 | 0.0011529 ;