Java 将包含UUID的REST端点分组为单个业务事务的AppDynamics

Java 将包含UUID的REST端点分组为单个业务事务的AppDynamics,java,rest,jboss,resteasy,appdynamics,Java,Rest,Jboss,Resteasy,Appdynamics,我有一个web应用程序运行在JBoss/Wildfly上,使用RESTEasy。我正在用AppDynamics监控它。我已经将业务事务检测配置为使用Javaservlet。 这几乎可以工作,但我的一些REST路径包含UUID,例如: /data/scenario/d345d238-e0d2-4e01-a96e-4bf11290ce1d/job 每次使用不同的UUID调用此端点时,AppD都将其视为不同的业务事务。有没有办法让AppD识别路径中的UUID,并将其分组到单个业务事务中?比如: /d

我有一个web应用程序运行在JBoss/Wildfly上,使用RESTEasy。我正在用AppDynamics监控它。我已经将业务事务检测配置为使用Javaservlet。 这几乎可以工作,但我的一些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)}

配置->检测->事务检测->添加

在“使用请求数据拆分事务”部分,必须选择“特定URI段” 段号:1,2,4

在您的情况下,事务名称将是“/数据/场景/作业”

示例配置:


谢谢。这在我给出的示例URI中起作用,但是我们有很多包含UUID的端点URI是不同的位置。我需要一些更一般的东西。如果你的URL命名没有标准,我建议使用Header、Cookie、HTTP参数或Method参数而不是regex。我相信你可以找到一个独特的价值,你可以分割你的交易。