2

New Relicの[ Events:ErrorsNewRelic.noticeError(exception) ]タブには、アプリケーションがを使用して報告した例外(日付、時刻、メッセージ、およびスタックトレース)が表示されます。Webトランザクションから報告されたものについては、完全なトランザクションのURLが表示されます。ただし、アノテーションを使用して報告されたバックグラウンドタスク@Traceの場合は、スレッドの名前が表示されます。スレッドには。のような名前があるため、これは無意味ですpool-23-thread-9927

各バックグラウンドタスクに表示名を割り当てるか、エラーを報告するときに1つを渡して、スレッド名の代わりに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);
        }
    }
}

ExceptionLoggerNew Relicサイトで報告された例外が表示されますが、URL列には、トランザクションではなくスレッドの名前が表示されます。この場合はping

4

1 に答える 1

1

アノテーションで設定したパラメーターに応じて@Trace、バックグラウンド タスクのエラーについて New Relic UI に記録されたエラー URL の異なる値が表示されます。

のように を指定し、metricNameに設定dispatcherしますtrue

@Trace(metricName = "YourErrorNameHere", dispatcher = true)

表示される URL をYourErrorNameHereに設定します

次のように、no を指定しmetricNameても に設定dispatcherするtrue

@Trace(dispatcher = true)

表示される URL をcom.example.task.BackgroundTask/runなどのクラス名/メソッド名に設定します

@Traceに設定せずにそのまま使用dispatcherするtrueと、スレッド名が表示されます。

これをより明確にするために、将来的にドキュメントを更新する予定です。

于 2013-03-29T15:45:52.700 に答える