ES|QL

میانگین تأخیر وزن‌دار بر اساس حجم درخواست‌ها

WEIGHTED_AVG هر اندازه‌گیری رو با وزن واقعی‌اش (تعداد فراخوانی‌ها) می‌سنجه؛ برخلاف میانگین ساده که نمونه‌های کم‌ترافیک رو بیش از حد پررنگ می‌کنه.

کاربرد

متریک‌های از پیش تجمیع‌شده (Prometheus، gatewayها) که هر سند نمایندهٔ N درخواسته.

پیش‌نیازها

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

نتیجه

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

اسنیپت‌های مرتبط

بازگشت به آزمایشگاه داده