뉴렐릭 배터리 에이전트 API 사용하면 배터리 에이전트 의 기능을 제어, 맞춤설정, 확장할 수 있습니다. 이 API는 다음으로 구성됩니다.
com.newrelic.api.agent.NewRelic
클래스의 정적 메서드- 사용자 정의 계측 구현을 위한 @Trace 주석
- 추가 기능을 제공하는 API 객체의 계층
이 API를 사용하여 Java 앱의 사용자 정의 계측 을 설정하고 보다 심층적인 데이터를 수집하십시오. 이 API에 대한 자세한 내용은 GitHub의 전체 Javadoc을 참조하세요.
사용자 정의 계측을 설정하는 또 다른 방법은 XML 계측 을 사용하는 것입니다. XML 옵션은 더 간단하고 앱 코드를 수정할 필요가 없지만 Java 에이전트 API의 완전한 기능이 부족합니다.
중요
API를 사용할 때 최상의 결과를 얻으려면 최신 Java 에이전트 릴리스 가 있는지 확인하십시오. 예제에 사용된 여러 API에는 Java 에이전트 6.4.0 이상이 필요합니다.
사용 가능한 모든 New Relic API는 API 소개를 참조하세요.
API 사용
API에 액세스하려면 빌드 도구를 통해 Maven Central에서 다운로드하세요.
다음은 ${agent.version}
에이전트 버전으로 바꿀 수 있는 Gradle의 예입니다.
implementation 'com.newrelic.agent.java:newrelic-api:${agent.version}'
에이전트를 실행하지 않고도 API를 호출할 수 있지만 에이전트가 애플리케이션을 로드할 때까지 메서드는 작동하지 않습니다.
업무
애플리케이션에서 Transactions
을(를) 계측하려면 다음 API를 사용하십시오.
원하는 경우... | 이것을 사용 |
---|---|
New Relic이 자동으로 생성하지 않을 때 | 보고할 작업을 포함하는 메서드에 대한 |
New Relic이 자동으로 추적하지 않는 메서드의 기간을 캡처합니다. | 시간을 측정하려는 방법에 대한 |
현재의 이름을 설정 | |
현재 | |
| |
| |
| |
앱의 Apdex 점수를 계산할 때 |
관련 로그 보기
애플리케이션의 오류 및 추적 컨텍스트 내에서 직접 로그를 보려면 다음 API 호출을 사용하여 로그에 주석을 추가하십시오.
로그 데이터와 다른 원격 측정 데이터의 상관 관계에 대한 자세한 내용은 컨텍스트 문서의 로그를 참조하세요.
계기 비동기 작업
자세한 정보 는 비동기 애플리케이션용 Java 에이전트 API를 참조하십시오.
원하는 경우... | 이것을 사용 |
---|---|
기존 | |
현재 스레드의 | |
현재 | |
| |
|
분산 추적 API 사용
이러한 API 를 사용하려면 분산 추적 이 필요합니다. 모든 분산 추적 구성 옵션은 Java 에이전트 구성 을 참조하십시오.
분산 추적을 사용하면 분산 시스템을 통해 이동하는 요청의 경로를 볼 수 있습니다. 아래 호출을 사용하여 분산 추적을 구현하는 방법에 대한 일반적인 지침은 분산 추적 API 사용 을 참조하세요. 작동 중인 이러한 API를 보려면 Kafka와 함께 추적 API를 배포하는 Java 에이전트 사용 을 참조하십시오.
중요
에이전트 버전 6.4.0 에서는 6.1.0에 도입된 addCustomAttribute()
을 제외하고 다음과 같은 분산 추적 API가 도입되었습니다. 더 이상 사용되지 않는 API 대신 이러한 API를 사용하는 것이 좋습니다.
원하는 경우... | 이것을 사용 |
---|---|
수신 또는 발신 메시지의 유형별 헤더에 대해 알아봅니다. | 제공된 Kafka를 사용한 DT API 사용 에서 W3C 추적 컨텍스트 헤더 구현의 예를 참조하십시오. |
분산 추적 헤더를 만들고 | 현재 트랜잭션 및 기타 API 클래스에 대한 참조 가져오기에 대한 자세한 내용은 참조 가져오기 를 참조 하십시오. |
호출 서비스에서 보낸 분산 추적 헤더를 수락하고 분산 추적에서 이러한 서비스를 함께 연결합니다. | 현재 트랜잭션 및 기타 API 클래스에 대한 참조 가져오기에 대한 자세한 내용은 참조 가져오기 를 참조 하십시오. |
분산 추적 헤더를 수락할 때 전송 유형을 정의하기 위한 열거형 상수를 제공하는 유틸리티 클래스를 이해합니다. | |
분산 추적에서 |
|
주의
에이전트 버전 6.4.0 에서는 다음 분산 추적 API가 더 이상 사용되지 않으며 위 표의 API로 대체되었습니다. 에이전트를 업그레이드하고 더 이상 사용되지 않는 API 대신 새 API를 사용하는 것이 좋습니다.
원하는 경우... | 이것을 사용 |
---|---|
호출된 서비스에 보낼 페이로드를 만듭니다. | 현재 트랜잭션 및 기타 API 클래스에 대한 참조 가져오기에 대한 자세한 내용은 참조 가져오기 를 참조 하십시오. 주의에이전트 6.4.0부터 더 이상 사용되지 않는 API |
첫 번째 서비스에서 보낸 페이로드를 수락합니다. 이것은 추적에서 이러한 서비스를 함께 연결합니다. | 현재 트랜잭션 및 기타 API 클래스에 대한 참조 가져오기에 대한 자세한 내용은 참조 가져오기 를 참조 하십시오. 주의에이전트 6.4.0부터 더 이상 사용되지 않는 API |
서비스를 연결하는 데 사용되는 페이로드입니다. |
주의에이전트 6.4.0부터 더 이상 사용되지 않는 API |
서비스를 연결하는 데 사용되는 페이로드입니다. |
주의에이전트 6.4.0부터 더 이상 사용되지 않는 API |
CAT(교차 애플리케이션 추적) API 사용
중요
교차 애플리케이션 추적은 에이전트 버전 7.4.0부터 더 이상 사용되지 않으며 향후 에이전트 버전에서 제거될 예정입니다.
교차 애플리케이션 추적을 사용하는 대신 분산 추적 기능을 사용하는 것이 좋습니다. 분산 추적은 애플리케이션 간 추적 기능을 개선한 것으로 대규모 분산 시스템에 권장됩니다.
외부 호출을 추적하고 애플리케이션 간 추적 을 추가하려면 다음 API를 사용하세요.
원하는 경우... | 이것을 사용 |
---|---|
독점 RPC 전송과 같이 New Relic이 기본적으로 지원하지 않는 사용자 지정 전송 채널을 통한 추적 | 또한 |
메트릭 이름 또는 롤업 메트릭 이름을 보거나 변경합니다. ( | 또한 |
Java 에이전트 API의 |
또한 |
New Relic에 의해 계측되는 외부 HTTP 또는 JMS 서비스와 통신할 때 교차 애플리케이션 추적 을 활성화하고 추가합니다. |
또한 |
자동으로 지원되지 않는 애플리케이션 서버 또는 디스패처에 대한 타이밍 추가 |
또한 |
New Relic API 클래스에 대한 참조 얻기
다른 작업에는 New Relic Agent
객체가 필요합니다. Agent
객체는 다음 기능을 제공하는 여러 객체를 노출합니다.
원하는 경우... | 이것을 사용 |
---|---|
현재에 대한 참조 가져오기 | |
비동기 작업을 연결하려면 | |
시작하고 참조를 얻으십시오. | |
현재 추적 중인 메서드에 대한 참조 가져오기 | |
| |
| |
사용자 지정 측정항목 에 대한 집계에 대한 참조 가져오기 | |
맞춤 이벤트 를 기록하려면 |
추가 API 기능
다음 API는 앱 서버 정보 설정, 오류 보고, 페이지 로드 타이밍 정보 추가, 사용자 정의 측정항목 기록 및 사용자 정의 이벤트 전송 과 같은 추가 기능을 제공합니다.
원하는 경우... | 이것을 사용 |
---|---|
애플리케이션 서버 또는 디스패처에 대한 포트, 이름 및 버전 정보를 명시적으로 설정하고 JVM에 대한 인스턴스 이름을 명시적으로 설정합니다. | |
New Relic이 자동으로 보고하지 않는 오류 보고 | 트랜잭션 내부에서 |
사용자 정의된 지문으로 오류를 그룹화하고 New Relic으로 전송될 오류에 대한 그룹화 키를 생성하는 데 사용되는 |
|
콜백 함수를 통해 자신만의 오류 지문을 설정하세요. 제공된 오류에 대한 그룹화 키를 생성하는 데 사용되는 | |
New Relic이 헤더에 자동으로 추가하지 않는 | |
맞춤 측정항목 생성 및 누적 |
|
맞춤 이벤트 기록 |
또는 또한 |
에이전트에게 일반 클라우드 공급자 계정 정보를 제공합니다. |
이 방법을 사용하면 계정 정보 유형과 해당 금액을 제공할 수 있습니다. 에이전트는 이 정보를 사용하여 선택한 클라우드 서비스 범위에서 속성 AWS DynamoDB와 Kinesis는 이 메서드를 호출하면 해당 클라우드 설정이 재정의됩니다. 위에 표시된 호출은 |
에이전트에 SDK 클라이언트별 클라우드 공급자 계정 정보를 제공합니다. |
이 호출은 이전 메서드와 동일한 정보를 제공하지만, 제공된 SDK 클라이언트에만 국한됩니다. 지정된 SDK 클라이언트를 사용하면 일반 데이터 대신 이 데이터가 사용됩니다. |
추가 API 사용 예
API 사용에 대한 자세한 코드 예제는 다음에 대한 사용자 지정 계측에 대한 New Relic의 설명서를 참조하십시오.