New Relic中的事件:错误选项卡显示我的应用程序使用NewRelic.noticeError(exception)
报告的异常(日期,时间,消息和堆栈跟踪)。对于从Web事务报告的那些,它显示了完美的事务的URL。但对于使用@Trace
注释报告的后台任务,它会显示线程的名称。这没有意义,因为线程的名称类似于pool-23-thread-9927
。
我可以为每个后台任务指定一个显示名称,还是在报告错误时传递一个显示名称,以便它显示在 URL 列而不是线程的名称中?
注意:如果可以避免,我希望不更改帖子的名称。
更新
以下是代码概述。该事务包含在PingJob
中,用于捕获并报告异常。
public class PingJob implements Callable<PingStatus>
{
@Trace(metricName = "ping", dispatcher = true)
@Override
public PingStatus call() {
try {
// calls that may throw exceptions
}
catch (RuntimeException e) {
// pass to utility method to log and/or report to New Relic
ExceptionLogger.log(e, LOG);
}
}
}
我在New Relic网站上看到ExceptionLogger
报告的异常,但是URL列列出了线程的名称而不是事务,在本例中为ping
。
答案 0 :(得分:1)
根据您在@Trace
注释中设置的参数,您将看到New Relic UI中记录的错误URL的不同值,用于后台任务中的错误。
指定metricName
并将dispatcher
设为true
,如
@Trace(metricName = "YourErrorNameHere", dispatcher = true)
会将显示的网址设置为 YourErrorNameHere
指定暂无metricName
但仍将dispatcher
设为true
,如
@Trace(dispatcher = true)
会将显示的URL设置为您的类名/方法名,例如 com.example.task.BackgroundTask / run
如果您只是单独使用@Trace
而未将dispatcher
设置为true
,则会显示该主题名称。
我们将来会更新我们的文档以使其更清晰。