OpenTelemetry 데이터를 보내고 UI에서 서비스(엔티티)를 연 후 JVM 을 클릭하여 Java 가상 머신의 동작과 관련된 비정상적이거나 비정상적인 성능 패턴을 가진 서비스 인스턴스를 식별합니다.
응답 시간, 처리량, 오류율, 가비지 수집 시간 및 메모리 사용량과 같은 주요 메트릭 요약을 기반으로 비교할 여러 서비스 인스턴스를 선택할 수 있습니다. 그런 다음 시계열 차트를 사용하여 OpenTelemetry 계측에 의해 수집된 모든 인스턴스의 JVM 메트릭을 비교하여 문제를 찾을 수 있습니다.
다음은 일반적인 워크플로입니다.
JVM 을 클릭하십시오.
요약된 상태 메트릭 테이블을 사용하여 흥미로운 JVM을 찾습니다.
필터 막대를 사용하여 검색 범위를 좁힙니다.
메트릭 값의 열을 정렬하여 이상값 찾기
흥미로운 JVM을 선택하십시오.
비교 를 클릭하여 JVM에서 패싯 처리한 상태 및 런타임 측정 단위의 표시를 확인합니다.
테이블에서 인스턴스 이름을 클릭하여 단일 JVM에 대한 모든 런타임 메트릭을 볼 수도 있습니다.
JVM을 비교하거나 단일 JVM으로 드릴하면 가비지 수집 및 메모리 사용량을 포함하여 런타임 메트릭 데이터의 여러 시계열 차트가 표시됩니다. JVM 특정 런타임 메트릭은 OpenTelemetry 의미 체계 규칙 에 지정되어 있으며 최신 버전의 OTel 자동 계측 에이전트에서 구현 됩니다.
데이터가 이 섹션에 나타나도록 하려면 다음이 포함되어 있는지 확인하세요.
인스턴스별로 JVM 측정항목을 그룹화하는 데 사용되는 OpenTelemetry 리소스 속성 service.instance.id
JVM 메모리 사용량을 비동기 게이지로 수집하는 OpenTelemetry Java 에이전트 1.13.0 이상을 사용하는 것이 좋습니다. 이러한 에이전트 버전을 사용하면 이전 에이전트를 사용하는 경우 수행해야 하는 해결 방법 없이 New Relic에서 메트릭을 볼 수 있습니다.
이전 OpenTelemetry Java 에이전트(버전 1.10.0-1.12.0)를 사용하는 경우 JVM 메모리 사용량이 비동기식 게이지로 수집되는 것에서 비동기식 UpDownCounter로 전환된다는 점을 명심하십시오. 이는 내보낸 데이터에 영향을 미칩니다. 게이지와 카운터는 다르게 내보냅니다.
비동기 게이지는 OTLP 게이지로 내보냅니다.
비동기식 UpDownCounters는 OTLP 비단조 합계로 내보냅니다.
델타 집계 시간성을 사용하여 메트릭을 내보내도록 SDK를 구성하면(카운터 및 히스토그램 계측기가 New Relic과 함께 작동하는 데 필요함) 비동기식 UpDownCounters가 비단조 델타 합계로 내보내집니다. New Relic은 비단조 델타 합계 데이터에 대한 유용한 분석을 수행할 수 없습니다.
OpenTelemetry Java 에이전트 버전 1.10.0-1.12.0을 사용해야 하는 경우 해결 방법은 View API를 사용하여 기본 합계 집계 대신 마지막 값 집계를 사용하여 비동기 UpDownCounters를 집계해야 함을 나타내는 것입니다. 이로 인해 JVM 메모리 사용량이 게이지 데이터로 내보내지며 이는 New Relic에서 유용한 경험에 필요합니다.
View API를 구성하는 방법은 OpenTelemetry Java 에이전트를 사용하는지 여부에 따라 다릅니다.
OpenTelemetry Java 에이전트를 사용하는 경우 확장에서 View API를 구성해야 합니다. 확장을 사용하면 무엇보다도 SDK 구성에 연결하고 환경 변수나 시스템 속성에서 사용할 수 없는 프로그래밍 구성을 적용할 수 있습니다. 이 예는 확장 프로그램을 사용하여 SdkMeterProvider 의 보기를 맞춤설정하는 방법을 보여줍니다.
OpenTelemetry Java 에이전트를 사용하지 않는 경우 SdkMeterProvider 구성 시 보기를 등록하는 방법을 보여주는 이 간단한 예 를 검토하세요.