ES|QL

Latence moyenne pondérée par le volume de requêtes

WEIGHTED_AVG pondère chaque mesure par son poids réel (nombre d'appels), contrairement à une moyenne simple qui sur-représente les instances peu sollicitées.

Cas d'usage

Métriques pré-agrégées (Prometheus, gateways) où chaque document représente N requêtes.

Prérequis

Elasticsearch 8.15+, Kibana

SQL
FROM "metrics-gateway-*"
| WHERE @timestamp >= NOW() - 1 hour
| STATS
    latence_moy_simple = ROUND(AVG(latency.avg_ms), 1),
    latence_ponderee = ROUND(WEIGHTED_AVG(latency.avg_ms, request.count), 1),
    volume = SUM(request.count)
  BY upstream.name
| EVAL biais = ROUND(latence_ponderee - latence_moy_simple, 1)
| SORT latence_ponderee DESC
| LIMIT 20

Résultat

upstream.name | latence_moy_simple | latence_ponderee | volume  | biais
--------------+--------------------+------------------+---------+------
payment-gw    |              112.4 |            187.9 | 1842032 |  75.5
search-core   |               74.1 |             98.6 | 3201877 |  24.5
user-profile  |               41.8 |             39.2 | 5480211 |  -2.6
static-cdn    |                8.2 |              7.9 | 9822134 |  -0.3
WEIGHTED_AVGLatenceMétriquesSTATS

Snippets liés

Retour au Data Lab