Java 将包含UUID的REST端点分组为单个业务事务的AppDynamics
我有一个web应用程序运行在JBoss/Wildfly上,使用RESTEasy。我正在用AppDynamics监控它。我已经将业务事务检测配置为使用Javaservlet。 这几乎可以工作,但我的一些REST路径包含UUID,例如: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
/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。我相信你可以找到一个独特的价值,你可以分割你的交易。