ES|QL

INLINESTATS : écart de chaque requête à la moyenne de son service

INLINESTATS ajoute l'agrégat comme colonne sans réduire les lignes — chaque transaction est comparée à la moyenne de son propre service au sein de la même requête.

Cas d'usage

Isoler les requêtes individuelles anormalement lentes par rapport à la baseline du service.

Prérequis

Elasticsearch 8.18+ (preview technique)

SQL
FROM "traces-apm-*"
| WHERE transaction.type == "request"
  AND @timestamp >= NOW() - 1 hour
| EVAL duree_ms = transaction.duration.us / 1000
| INLINESTATS duree_moy_service = AVG(duree_ms) BY service.name
| EVAL ecart_pct = ROUND(100.0 * (duree_ms - duree_moy_service) / duree_moy_service, 1)
| WHERE ecart_pct > 300
| KEEP @timestamp, service.name, transaction.name, duree_ms, ecart_pct
| SORT ecart_pct DESC
| LIMIT 20

Résultat

@timestamp               | service.name | transaction.name     | duree_ms | ecart_pct
-------------------------+--------------+----------------------+----------+----------
2026-06-10T14:52:08.412Z | checkout-api | POST /api/v2/payment |   8412.6 |     921.4
2026-06-10T14:47:31.090Z | checkout-api | POST /api/v2/payment |   6230.8 |     656.5
2026-06-10T14:55:02.771Z | catalog-api  | GET /api/v2/search   |   4106.2 |     587.3
2026-06-10T14:41:19.205Z | auth-svc     | POST /login          |   1893.4 |     412.9
2026-06-10T14:58:44.630Z | catalog-api  | GET /api/v2/search   |   2950.1 |     393.8
INLINESTATSLatenceAPMAnomalie

Snippets liés

Retour au Data Lab