0
我想監視我們的Java應用程序(GlassFish v3.1.2 JSF2應用程序)的關鍵部分。 我想跟蹤一個特定的函數調用作爲一個新的事務。該方法可以在「/ Faces Servlet」或任何其他JAX-RS事務中調用。NewRelic Java API和事務邊界
@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和兩個用於內部/查詢。
謝謝。
謝謝,這不是我所期望的,實際上NewRelic Agent不支持嵌套事務。如果交易存在,它只會被重命名。如果我多次調用查詢,我的事務參數將被最後一次調用覆蓋。 – nomoa
「嵌套」是由另一個使用相同的進程或線程調用的新事務?如果沒有,我們很可能「失去了追蹤的味道」,這可能會阻止代理商進行報告。 這有道理嗎? 謝謝, 珍妮 – Jeanie