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 20Ré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