AppDynamics для группировки конечных точек REST, содержащих UUID, как одну бизнес-транзакцию - PullRequest
0 голосов
/ 31 октября 2019

У меня есть веб-приложение, работающее на JBoss / Wildfly и использующее RESTEasy. Я отслеживаю это с AppDynamics. Я настроил обнаружение бизнес-транзакций на использование сервлета Java. Это почти работает, но некоторые из моих путей REST содержат UUID, например:

/data/scenario/d345d238-e0d2-4e01-a96e-4bf11290ce1d/job

Каждый раз, когда эта конечная точка вызывается с другим UUID, AppD обрабатывает ее как другую бизнес-транзакцию. Есть ли способ заставить AppD распознавать идентификаторы UUID в пути и группировать их в одну бизнес-транзакцию? Что-то вроде:

/data/scenario/{id}/job

Я мог бы сделать это, применив регулярное выражение к информации о пути запроса:

request.getPathInfo().replaceAll(
    "[0-9a-f]{8}\\-[0-9a-f]{4}\\-[0-9a-f]{4}\\-[0-9a-f]{4}\\-[0-9a-f]{12}", 
    "{id}")

или даже просто

request.getPathInfo().replaceAll("[0-9a-f\\-]{36}", "{id}")

но я не могу понять, как избежать этого должным образом.

${getPathInfo().replaceAll([0-9a-f\\-]{36}, id)}

не работает, и не работает

${getPathInfo().replaceAll(\[0\-9a\-f\\\\-\]\{36\}, id)}

1 Ответ

0 голосов
/ 11 ноября 2019

Конфигурация-> Инструментарий-> Обнаружение транзакции-> Добавить

В разделе «Разделить транзакции с использованием данных запроса» необходимо выбрать « Определенные сегменты URI » Номера сегментов: 1,2, 4

В вашем случае название транзакции будет "/ data / script / job"

Пример конфигурации:

enter image description here

...