비동기 토큰 및 세그먼트용 Java 에이전트 API를 사용하는 데 문제가 있는 경우 이러한 기술을 사용하여 답변을 찾고 문제를 해결하십시오.
계측 확인
API에는 잘못된 API 사용으로 인해 발생하는 문제를 방지하는 여러 가지 기본 제공 안전 메커니즘이 있지만 이러한 기술을 사용하여 애플리케이션의 계측이 올바른지 확인할 수 있습니다.
코드를 계측한 후 동일한 수의 토큰이 생성되고 만료되었음을 로그에 표시하는지 확인합니다. 찾을 로그 메시지에 대한 자세한 내용은 로그를 사용하여 문제 해결 을 참조하십시오.
APM의
페이지 에서 가비지 수집 통계를 확인하여 변경 사항으로 인해 가비지 수집 패턴이 크게 변경되었는지 여부를 확인하세요.
timed_out
속성에 대한 트랜잭션 추적 을 검토하여 세그먼트 또는 토큰이 시간 초과되는지 확인하세요. 그렇다면token_timeout
및segment_timeout
를 사용하여 제한을 변경할 수 있습니다.
로그를 사용하여 문제 해결
Java 에이전트 로깅을 사용자 정의하려면 로그 생성 을 참조하십시오. 그런 다음 다음과 같은 일반적인 메시지에 대한 로그를 검사할 수 있습니다.
생성된 토큰을 보려면
FINEST
에서 다음 항목에 대한 로그를 확인하세요.Transaction com.newrelic.agent.Transaction@5a7cc8e: created active token com.newrelic.agent.TokenImpl@7db8d0e8만료된 토큰과 만료 시간을 보려면
FINEST
에서 다음 항목에 대한 로그를 확인하세요.Transaction com.newrelic.agent.Transaction@5a7cc8e: expired token com.newrelic.agent.TokenImpl@7db8d0e8생성된 세그먼트를 보려면
FINEST
에서 다음에 대한 로그를 확인하십시오.Transaction com.newrelic.agent.Transaction@486b7f04: startSegment(): com.newrelic.agent.Segment@2b7fdad3 created and started with tracer com.newrelic.agent.tracers.OtherRootTracer@4df4a953종료된 세그먼트와 종료 시간을 보려면
FINEST
에서 다음 항목에 대한 로그를 확인하십시오.com.newrelic.agent.Transaction@486b7f04--finish segment(): com.newrelic.agent.Segment@2b7fdad3 async finish with tracer com.newrelic.agent.tracers.OtherRootTracer@4df4a953
문제: 트랜잭션 시간이 너무 깁니다.
토큰을 만료하고 세그먼트를 종료하거나 무시해야 합니다. 그렇지 않으면 거래가 New Relic에 보고하는 데 더 오래 걸릴 수 있습니다. Java 에이전트에는 올바르게 종료되지 않은 토큰 및 세그먼트에 대한 시간 초과 메커니즘이 있습니다. 자세한 내용은 token_timeout
및 segment_timeout
을(를) 참조하십시오.
문제: 트랜잭션 추적 데이터가 없습니다.
트랜잭션 추적을 검사하여 예상되는 비동기 작업이 보고되는지 확인합니다. 트랜잭션 추적이 표시되지 않으면 트랜잭션 기간이 transaction_threshold
에 설정된 트랜잭션 추적 임계값을 초과하는지 확인하십시오.
문제: 너무 적은 비동기 호출
보고되는 통화가 너무 적은 경우: