ОтелРезультатПроизводстваМетрик
Результат Произвести продюсера метрик: статус и произведённые метрики.
Описание
Продюсер метрик (ИнтерфейсПродюсерМетрик) возвращает этот объект из Произвести: так читатель узнаёт, произведены ли метрики, завершилось ли производство ошибкой или не уложилось в таймаут (спецификация Metrics SDK, раздел Produce batch: Produce SHOULD provide a way to let the caller know whether it succeeded, failed or timed out).
Статус — строка:
| Статус | Константа | Что делает читатель |
|---|---|---|
"Success" | СтатусУспех() | Добавляет Метрики к данным сбора |
"Failure" | СтатусОшибка() | Пишет в лог предупреждение со статусом и СообщениеОшибки, метрики не использует; результат сбора — ошибка |
"Timeout" | СтатусТаймаут() | Пишет в лог предупреждение, метрики не использует; результат сбора — таймаут, если других сбоев нет |
Другой статус читатель считает ошибкой, как "Failure".
Константы статусов — методы объекта, поэтому в конструктор статус передают строкой. Поля результата — экспортные переменные: их можно задать и после создания объекта.
Конструктор
Новый ОтелРезультатПроизводстваМетрик(НачальныйСтатус, НачальныеМетрики, НачальноеСообщение)| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
НачальныйСтатус | Строка | "Success" | Статус: "Success", "Failure" или "Timeout" |
НачальныеМетрики | Массив из ОтелДанныеМетрики, Неопределено | Неопределено | Произведённые метрики (ОтелДанныеМетрики); Неопределено — пустой массив |
НачальноеСообщение | Строка | "" | Сообщение об ошибке для статусов "Failure" и "Timeout" |
Свойства
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
Статус | Строка | "Success" | Статус результата |
Метрики | Массив из ОтелДанныеМетрики | пустой массив | Произведённые метрики; читатель берёт их только при статусе "Success" |
СообщениеОшибки | Строка | "" | Сообщение об ошибке; читатель пишет его в лог |
Методы
СтатусУспех
Возвращает константу статуса успешного производства.
Возвращает: Строка — "Success"
СтатусОшибка
Возвращает константу статуса ошибки.
Возвращает: Строка — "Failure"
СтатусТаймаут
Возвращает константу статуса таймаута: продюсер не уложился в отведённое время.
Возвращает: Строка — "Timeout"
Успех
Проверяет, что производство успешно. Так читатели проверяют результат продюсера.
Возвращает: Булево — Истина, если Статус равен "Success"
Пример
// Успех: метрики продюсера
Метрики = Новый Массив();
Метрики.Добавить(Данные); // ОтелДанныеМетрики
Результат = Новый ОтелРезультатПроизводстваМетрик("Success", Метрики);
// Ошибка источника
Результат = Новый ОтелРезультатПроизводстваМетрик("Failure", , "Источник метрик недоступен");
// Таймаут: статус по константе объекта
Результат = Новый ОтелРезультатПроизводстваМетрик();
Результат.Статус = Результат.СтатусТаймаут();
Результат.СообщениеОшибки = "Источник не ответил в срок";
// Проверка результата, например в тесте продюсера
Результат = Продюсер.Произвести(Новый ОтелРесурс(), 0);
Если Результат.Успех() Тогда
Для Каждого Данные Из Результат.Метрики Цикл
Сообщить(Данные.Имя());
КонецЦикла;
Иначе
Сообщить(Результат.Статус + ": " + Результат.СообщениеОшибки);
КонецЕсли;