forked from yellow-hammer/prometheus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathГистограммаИРезюме.os
More file actions
37 lines (32 loc) · 2.22 KB
/
ГистограммаИРезюме.os
File metadata and controls
37 lines (32 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// =============================================================================
// ПРИМЕР: Гистограмма и резюме - наблюдения (задержки, размеры ответов)
// =============================================================================
//
// Что делает: гистограмма считает наблюдения по «корзинам» (например задержка
// 0.1 с, 0.5 с, 1 с) и даёт _bucket, _sum, _count. Резюме считает квантили
// (медиана 0.5, 0.9 и т.д.) по накопленным значениям. Обе метрики обновляются
// через Наблюдать(Метрика, значение).
// =============================================================================
#Использовать ".."
// BSLLS:MagicNumber-off
// BSLLS:DuplicateStringLiteral-off
// Гистограмма: верхние границы корзин в секундах. Наблюдать - добавить одно значение.
Границы = Новый Массив;
Границы.Добавить(0.1);
Границы.Добавить(0.5);
Границы.Добавить(1);
Гистограмма = Prometheus.НоваяГистограмма("request_duration_seconds", "Длительность запроса", Границы);
Prometheus.Наблюдать(Гистограмма, 0.05);
Prometheus.Наблюдать(Гистограмма, 0.2);
Prometheus.Наблюдать(Гистограмма, 0.7);
// Резюме: квантили (0.5 - медиана, 0.9). Наблюдать - добавить одно значение.
Квантили = Новый Массив;
Квантили.Добавить(0.5);
Квантили.Добавить(0.9);
Резюме = Prometheus.НовоеРезюме("response_size_bytes", "Размер ответа", Квантили);
Prometheus.Наблюдать(Резюме, 100);
Prometheus.Наблюдать(Резюме, 200);
Prometheus.Наблюдать(Резюме, 300);
Семейства = Prometheus.СобратьМетрики();
Текст = Prometheus.СериализоватьВТекст(Семейства);
Сообщить(Текст);