我想监视Java应用程序(Glassfish v3.1.2 JSF2应用程序)的关键部分。 我想跟踪特定的函数调用作为新事务。可以在“/ Faces Servlet”或任何其他JAX-RS事务中调用此方法。
@Trace注释似乎对我的情况来说是完美的,但是阅读文档并不清楚它是否支持嵌套事务(如REQUIRES_NEW J2EE事务语义)。
以下是我要跟踪的方法
@Trace(dispatcher=true, matricName="Internal/Query")
public void query(Query q) {
long st = -System.currentTimeMillis();
// do my stuff
st += System.currentTimeMillis();
NewRelic.addCustomParameter("Client", q.getClient());
// Add useful parameters
NewRelic.recordResponseTimeMetric("Internal/Query/queryTime", st); // Is this needed?
}
例如像这样的JAX-RS WS:
@GET
public Response wsquery(...) { // <- Start NewRelic Transaction T1
myBean.query(q1); // <- Start nested Transaction T1.1
myBean.query(q2); // <- Start nested Transaction T1.2
}
我是否会跟踪3笔交易? 一个用于JAX-RS调用 wsquery ,两个用于内部/查询。
感谢。
答案 0 :(得分:0)
根据提供的信息,我不确定您将获得什么。我建议给它一个测试。您还可以将日志记录级别提升到“最佳”级别,并查看正在检测的内容。如果您遇到以外的问题,请致电http://support.newrelic.com
与我们联系