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