|
5 | 5 | Возврат PrometheusRegistry.ПолучитьРеестрПоУмолчанию(); |
6 | 6 | КонецФункции |
7 | 7 |
|
| 8 | +// --- Скалярные метрики (счётчик, индикатор, гистограмма, резюме) --- |
| 9 | + |
8 | 10 | Функция НовыйСчетчик(Имя, Справка = "", КонстантныеЛейблы = Неопределено) Экспорт |
9 | 11 | Опции = Новый Структура("Имя, Справка", Имя, Справка); |
10 | 12 | Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
|
29 | 31 | Возврат Индикатор; |
30 | 32 | КонецФункции |
31 | 33 |
|
| 34 | +Функция НоваяГистограмма(Имя, Справка = "", ВерхниеГраницыБакетов = Неопределено, КонстантныеЛейблы = Неопределено) Экспорт |
| 35 | + Границы = ?(ТипЗнч(ВерхниеГраницыБакетов) = Тип("Массив"), ВерхниеГраницыБакетов, Новый Массив); |
| 36 | + Опции = Новый Структура("Имя, Справка, ВерхниеГраницыБакетов", Имя, Справка, Границы); |
| 37 | + Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
| 38 | + Опции.Вставить("КонстантныеЛейблы", КонстантныеЛейблы); |
| 39 | + КонецЕсли; |
| 40 | + |
| 41 | + Гистограмма = PrometheusMetrics.НоваяГистограмма(Опции); |
| 42 | + PrometheusRegistry.ЗарегистрироватьОбязательно(Гистограмма); |
| 43 | + |
| 44 | + Возврат Гистограмма; |
| 45 | +КонецФункции |
| 46 | + |
| 47 | +Функция НовоеРезюме(Имя, Справка = "", Квантили = Неопределено, КонстантныеЛейблы = Неопределено) Экспорт |
| 48 | + Кв = ?(ТипЗнч(Квантили) = Тип("Массив"), Квантили, Новый Массив); |
| 49 | + Опции = Новый Структура("Имя, Справка, Квантили", Имя, Справка, Кв); |
| 50 | + Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
| 51 | + Опции.Вставить("КонстантныеЛейблы", КонстантныеЛейблы); |
| 52 | + КонецЕсли; |
| 53 | + |
| 54 | + Резюме = PrometheusMetrics.НовоеРезюме(Опции); |
| 55 | + PrometheusRegistry.ЗарегистрироватьОбязательно(Резюме); |
| 56 | + |
| 57 | + Возврат Резюме; |
| 58 | +КонецФункции |
| 59 | + |
| 60 | +// --- Векторы (фабрики с лейблами) --- |
| 61 | + |
32 | 62 | Функция НовыйСчетчикВектор(Имя, Справка, ИменаЛейблов, КонстантныеЛейблы = Неопределено) Экспорт |
33 | 63 | Опции = Новый Структура("Имя, Справка, ИменаПеременныхЛейблов", Имя, Справка, ИменаЛейблов); |
34 | 64 | Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
|
85 | 115 | Возврат Вектор; |
86 | 116 | КонецФункции |
87 | 117 |
|
88 | | -// --- Экземпляр по лейблам (ниже — для счётчика, индикатора, гистограммы, резюме) --- |
89 | | -// ЗначенияЛейблов: массив значений в порядке имён лейблов или Соответствие (имя → значение). |
| 118 | +// --- Экземпляр по лейблам (вектор → счётчик/индикатор/гистограмма/резюме с заданными лейблами) --- |
| 119 | +// ЗначенияЛейблов: массив в порядке имён лейблов или Соответствие (имя → значение). |
90 | 120 |
|
91 | 121 | Функция СчетчикСЛейблами(ВекторСчетчика, ЗначенияЛейблов) Экспорт |
92 | 122 | Возврат PrometheusVec.СчетчикВекторСМетками(ВекторСчетчика, ЗначенияЛейблов); |
|
104 | 134 | Возврат PrometheusVec.РезюмеВекторСМетками(ВекторРезюме, ЗначенияЛейблов); |
105 | 135 | КонецФункции |
106 | 136 |
|
107 | | -Функция НоваяГистограмма(Имя, Справка = "", ВерхниеГраницыБакетов = Неопределено, КонстантныеЛейблы = Неопределено) Экспорт |
108 | | - Границы = ?(ТипЗнч(ВерхниеГраницыБакетов) = Тип("Массив"), ВерхниеГраницыБакетов, Новый Массив); |
109 | | - Опции = Новый Структура("Имя, Справка, ВерхниеГраницыБакетов", Имя, Справка, Границы); |
110 | | - Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
111 | | - Опции.Вставить("КонстантныеЛейблы", КонстантныеЛейблы); |
112 | | - КонецЕсли; |
113 | | - |
114 | | - Гистограмма = PrometheusMetrics.НоваяГистограмма(Опции); |
115 | | - PrometheusRegistry.ЗарегистрироватьОбязательно(Гистограмма); |
116 | | - |
117 | | - Возврат Гистограмма; |
118 | | -КонецФункции |
119 | | - |
120 | | -Функция НовоеРезюме(Имя, Справка = "", Квантили = Неопределено, КонстантныеЛейблы = Неопределено) Экспорт |
121 | | - Кв = ?(ТипЗнч(Квантили) = Тип("Массив"), Квантили, Новый Массив); |
122 | | - Опции = Новый Структура("Имя, Справка, Квантили", Имя, Справка, Кв); |
123 | | - Если ТипЗнч(КонстантныеЛейблы) = Тип("Соответствие") Тогда |
124 | | - Опции.Вставить("КонстантныеЛейблы", КонстантныеЛейблы); |
125 | | - КонецЕсли; |
126 | | - |
127 | | - Резюме = PrometheusMetrics.НовоеРезюме(Опции); |
128 | | - PrometheusRegistry.ЗарегистрироватьОбязательно(Резюме); |
129 | | - |
130 | | - Возврат Резюме; |
131 | | -КонецФункции |
| 137 | +// --- Сбор и экспорт --- |
132 | 138 |
|
133 | 139 | Функция СобратьМетрики(Реестр = Неопределено) Экспорт |
134 | 140 | Если Реестр = Неопределено Тогда |
|
0 commit comments