Метрики процесса интеграции
У элемента Процесс Интеграции есть ряд предустановленных метрик. Эти метрики создаются автоматически и отображаются в карточке процесса интеграции во вкладке Метрики. Вы также можете создавать пользовательские метрики процесса интеграции.
В каких случаях может возникнуть потребность к ним обратиться? Например, когда в конечный узел схемы процесса интеграции приходит количество сообщений, отличное от ожидаемого, или полученные сообщения содержат неправильное тело/заголовок. В такой ситуации администратор может открыть окно с метриками в пользовательском интерфейсе процесса интеграции и получить дополнительную информацию по каждому узлу или маршруту на текущий момент в виде таблицы. При помощи этой информации можно отследить, в какой момент и из-за чего произошла ошибка.
Метрики могут быть параметризованными. В таком случае, подсчет одной метрики производится одновременно для разных значений параметра. Например, если параметр – расширение файла, тогда метрика считается отдельно для каждого расширения (сколько было в формате .doc, сколько в формате .txt и т.п.). Параметров метрики может быть несколько. Например: имя узла и расширение файла (сколько в данном узле было файлов в формате .doc, сколько в формате .txt и т.п.).
Примеры иных задач, которые можно решить при помощи метрик:
- Узнать, сколько сообщений прошло через каждый конкретный узел;
- Узнать количество сообщений, пришедших из HTTP-источника с кодом ответа 200;
- Узнать число файлов, полученных в узле типа ФайлНазначение, в зависимости от расширения;
- Узнать, сколько сообщений было модифицировано в конкретном трансляторе.
Значения предустановленных метрик, которые показываются в UI «1С:Шины», можно получить из встроенного языка, однако изменять их параметры нельзя.
Описание предопределенных метрик:
- Счетчик недоставленных сообщений в узлах схемы
-
Метрика показывает, сколько сообщений попало в канал недоставленных из каждого узла.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.UndeliveredMessageCount
- Счетчик сообщений в файловых узлах
- Метрика показывает, сколько сообщений прошло через каждый файловый узел на
схеме.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.FileCount
- Счетчик измененных сообщений в трансляторе
-
Метрика показывает, сколько сообщений было изменено в каждом узле вида «Транслятор».
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.TranslatorCount
- Счетчик сообщений в узлах Http
-
Метрика показывает, сколько сообщений прошло через каждый «Http»-узел на схеме.
Параметры: имя узла, в котором увеличилась метрика, и код ответа.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.HttpCount
- Счетчик ошибок в элементах схемы
-
Метрика показывает, сколько ошибок произошло в каждом элементе схемы.
Параметры: элемент схемы, в котором произошла ошибка.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.ErrorCount
- Счетчик сообщений в узлах
-
Метрика показывает, сколько сообщений прошло через каждый узел схемы.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из встроенного языка:
ИмяПроцессаИнтеграции.MessageCount
Создание пользовательских метрик процесса интеграции
Помимо предустановленных метрик, вы можете использовать пользовательские метрики с нужными вам параметрами. Предположим, есть следующий процесс интеграции:
Сообщения отправляются из узла FtpИсточник, преобразовываются в трансляторе и сохраняются в файл нужному участнику процесса интеграции. Для каждого получателя вы можете подсчитать общий размер файлов, отправленных ему из узла ФайлНазначение. Чтобы это сделать, следует создать новую метрику.
-
В навигаторе проекта кликните правой кнопкой мыши на элемент вида Процесс Интеграции и выберите
: -
Задайте имя метрики (в примере — «РазмерФайлов») и нажмите Ввод:
Новая метрика отобразится в навигаторе проекта:
- Так как необходимо подсчитывать размер файлов для каждого участника индивидуально, метрике следует добавить параметр «КодУчастника». Чтобы добавить параметр, кликните правой кнопкой мыши на метрику и выберите :
-
Задайте имя параметра (в примере — «КодУчастника») и нажмите Ввод:
Параметр отобразится в навигаторе проекта:
- Следующим шагом в узле ФайлНазначение, в свойстве
ОбновлениеМетрик, следует указать имя обработчика, в котором
будет происходить обновление пользовательской метрики. Для этого выделите
узел ФайлНазначение и в панели свойств, в свойстве
ОбновлениеМетрик, кликните на иконку лупы:
У вас откроется модуль процесса интеграции, в котором будет создан метод с нужной сигнатурой. Данный метод будет автоматически назначен в качестве обработчика события. Впишите в тело метода следующий код:
метод ОбновлениеМетрик(Контекст: ИнтеграцияСистем.КонтекстВызова, Сообщение: ИнтеграцияСистем.Сообщение) знч КодУчастника = Контекст.Участник.Код знч РазмерТела = Сообщение.ПолучитьТелоКакПоток().ПрочитатьКакБайты().Размер() ИнтеграцияСистем.Метрики.РазмерФайлов.Увеличить(КодУчастника = КодУчастника, ЗначениеУвеличения = РазмерТела) ;
Таким образом, вы создали метрику, в которой для каждого участника процесса интеграции будет индивидуально подсчитываться общий размер файлов, отправленных в узел ФайлНазначение.