-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathВекторСЛейблами.os
More file actions
39 lines (33 loc) · 2.38 KB
/
ВекторСЛейблами.os
File metadata and controls
39 lines (33 loc) · 2.38 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
38
39
// =============================================================================
// ПРИМЕР: Вектор с лейблами - одна метрика, много серий (по методу и коду)
// =============================================================================
//
// Что делает: создаёт счётчик с двумя лейблами (method, code). Для каждой
// комбинации лейблов (GET/200, POST/201 и т.д.) ведётся свой счётчик.
// Показаны оба способа задать лейблы: массив значений по порядку имён и
// Соответствие (имя → значение), порядок в Соответствии не важен.
// =============================================================================
#Использовать ".."
// BSLLS:MagicNumber-off
// BSLLS:DuplicateStringLiteral-off
// Объявляем вектор: имя метрики, подсказка, список имён лейблов.
ИменаЛейблов = Новый Массив;
ИменаЛейблов.Добавить("method");
ИменаЛейблов.Добавить("code");
Вектор = Prometheus.НовыйСчетчикВектор("http_requests_total", "Запросы по методу и коду", ИменаЛейблов);
// Способ 1: Соответствие (удобно, порядок не важен).
ЛейблыGET = Новый Соответствие;
ЛейблыGET.Вставить("method", "GET");
ЛейблыGET.Вставить("code", "200");
СчетчикGET = Prometheus.СчетчикСЛейблами(Вектор, ЛейблыGET);
Prometheus.Инкремент(СчетчикGET);
Prometheus.Инкремент(СчетчикGET);
// Способ 2: массив значений в том же порядке, что и имена лейблов (method, code).
ЗначенияPOST = Новый Массив;
ЗначенияPOST.Добавить("POST");
ЗначенияPOST.Добавить("201");
СчетчикPOST = Prometheus.СчетчикСЛейблами(Вектор, ЗначенияPOST);
Prometheus.Добавить(СчетчикPOST, 3);
Семейства = Prometheus.СобратьМетрики();
Текст = Prometheus.СериализоватьВТекст(Семейства);
Сообщить(Текст);