问题描述
我有一个 Springboot 应用程序。我有一个看起来像这样的方法:
//...
ExecutorService executorService = Executors.newFixedThreadPool(5);
//...
public void processData(){
//some processing
final Token token = NewRelic.getAgent().getTransaction().getToken();
final distributedTracePayload payload = NewRelic.getAgent().getTransaction().createdistributedTracePayload();
Runnable task = () -> {
NewRelic.getAgent().getTransaction().acceptdistributedTracePayload(payload);
token.link();
//some HTTP calls to other services
NewRelic.addCustomParameter("key",value);
}
executorService.submit(task);
token.expire();
}
当我运行应用程序并检查 New Relic UI 时,分布式跟踪部分没有显示对其他服务的调用,我没有看到可运行对象中的步骤或跟踪中的自定义属性。我做错了什么,我该如何解决?
//...
ExecutorService executorService = Executors.newFixedThreadPool(5);
//...
public void processData(){
//some processing
final Token token = NewRelic.getAgent().getTransaction().getToken();
final distributedTracePayload payload = NewRelic.getAgent().getTransaction().createdistributedTracePayload();
Runnable task = () -> makeHttpCalls(payload,token);
executorService.submit(task);
}
@Trace
public void makeHttpCalls(distributedTracePayload payload,Token token){
NewRelic.getAgent().getTransaction().acceptdistributedTracePayload(payload);
token.linkAndExpire();
// make HTTP calls
}
我仍然面临同样的问题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)