Метрики процесса интеграции

У элемента Процесс Интеграции есть ряд предустановленных метрик. Эти метрики создаются автоматически и отображаются в карточке процесса интеграции во вкладке Метрики. Вы также можете создавать пользовательские метрики процесса интеграции.

В каких случаях может возникнуть потребность к ним обратиться? Например, когда в конечный узел схемы процесса интеграции приходит количество сообщений, отличное от ожидаемого, или полученные сообщения содержат неправильное тело/заголовок. В такой ситуации администратор может открыть окно с метриками в пользовательском интерфейсе процесса интеграции и получить дополнительную информацию по каждому узлу или маршруту на текущий момент в виде таблицы. При помощи этой информации можно отследить, в какой момент и из-за чего произошла ошибка.

Метрики могут быть параметризованными. В таком случае, подсчет одной метрики производится одновременно для разных значений параметра. Например, если параметр – расширение файла, тогда метрика считается отдельно для каждого расширения (сколько было в формате .doc, сколько в формате .txt и т.п.). Параметров метрики может быть несколько. Например: имя узла и расширение файла (сколько в данном узле было файлов в формате .doc, сколько в формате .txt и т.п.).

Примеры иных задач, которые можно решить при помощи метрик:

  • Узнать, сколько сообщений прошло через каждый конкретный узел;
  • Узнать количество сообщений, пришедших из HTTP-источника с кодом ответа 200;
  • Узнать число файлов, полученных в узле типа ФайлНазначение, в зависимости от расширения;
  • Узнать, сколько сообщений было модифицировано в конкретном трансляторе.

Значения предустановленных метрик, которые показываются в UI «1С:Шины», можно получить из встроенного языка, однако изменять их параметры нельзя.

Описание предопределенных метрик:

Счетчик недоставленных сообщений в узлах схемы

Метрика показывает, сколько сообщений попало в канал недоставленных из каждого узла.

Параметры: имя узла, в котором увеличилась метрика.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.UndeliveredMessageCount

Счетчик сообщений в файловых узлах
Метрика показывает, сколько сообщений прошло через каждый файловый узел на схеме.

Параметры: имя узла, в котором увеличилась метрика.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.FileCount

Счетчик измененных сообщений в трансляторе

Метрика показывает, сколько сообщений было изменено в каждом узле вида «Транслятор».

Параметры: имя узла, в котором увеличилась метрика.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.TranslatorCount

Счетчик сообщений в узлах Http

Метрика показывает, сколько сообщений прошло через каждый «Http»-узел на схеме.

Параметры: имя узла, в котором увеличилась метрика, и код ответа.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.HttpCount

Счетчик ошибок в элементах схемы

Метрика показывает, сколько ошибок произошло в каждом элементе схемы.

Параметры: элемент схемы, в котором произошла ошибка.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.ErrorCount

Счетчик сообщений в узлах

Метрика показывает, сколько сообщений прошло через каждый узел схемы.

Параметры: имя узла, в котором увеличилась метрика.

Доступ к метрике из встроенного языка: ИмяПроцессаИнтеграции.MessageCount

Создание пользовательских метрик процесса интеграции

Помимо предустановленных метрик, вы можете использовать пользовательские метрики с нужными вам параметрами. Предположим, есть следующий процесс интеграции:

Сообщения отправляются из узла FtpИсточник, преобразовываются в трансляторе и сохраняются в файл нужному участнику процесса интеграции. Для каждого получателя вы можете подсчитать общий размер файлов, отправленных ему из узла ФайлНазначение. Чтобы это сделать, следует создать новую метрику.

  1. В навигаторе проекта кликните правой кнопкой мыши на элемент вида Процесс Интеграции и выберите Новый > Метрика:

  2. Задайте имя метрики (в примере — «РазмерФайлов») и нажмите Ввод:

    Новая метрика отобразится в навигаторе проекта:

  3. Так как необходимо подсчитывать размер файлов для каждого участника индивидуально, метрике следует добавить параметр «КодУчастника». Чтобы добавить параметр, кликните правой кнопкой мыши на метрику и выберите Новый > Параметр метрики:

  4. Задайте имя параметра (в примере — «КодУчастника») и нажмите Ввод:

    Параметр отобразится в навигаторе проекта:

  5. Следующим шагом в узле ФайлНазначение, в свойстве ОбновлениеМетрик, следует указать имя обработчика, в котором будет происходить обновление пользовательской метрики. Для этого выделите узел ФайлНазначение и в панели свойств, в свойстве ОбновлениеМетрик, кликните на иконку лупы:

    У вас откроется модуль процесса интеграции, в котором будет создан метод с нужной сигнатурой. Данный метод будет автоматически назначен в качестве обработчика события. Впишите в тело метода следующий код:

    метод ОбновлениеМетрик(Контекст: ИнтеграцияСистем.КонтекстВызова, Сообщение: ИнтеграцияСистем.Сообщение)
        знч КодУчастника = Контекст.Участник.Код
        знч РазмерТела = Сообщение.ПолучитьТелоКакПоток().ПрочитатьКакБайты().Размер()
        ИнтеграцияСистем.Метрики.РазмерФайлов.Увеличить(КодУчастника = КодУчастника, ЗначениеУвеличения = РазмерТела)
    ;

Таким образом, вы создали метрику, в которой для каждого участника процесса интеграции будет индивидуально подсчитываться общий размер файлов, отправленных в узел ФайлНазначение.