EOL 공지
2022년 4월부터 C SDK 기능을 지원하지 않습니다. 자세한 내용은 지원 포럼 게시물 을참조하십시오.
New Relic의 C SDK는 애플리케이션과 마이크로서비스를 모니터링하여 성능 문제를 식별하고 해결하는 데 도움을 줍니다. C 애플리케이션은 컴파일된 네이티브 바이너리 파일에서 실행됩니다. 트랜잭션 을 모니터링하려면 New Relic 메서드를 코드에 추가하여 수동으로 코드를 계측해야 합니다.
이 가이드는 사용할 방법을 결정하는 데 도움이 됩니다. 메서드의 코드, 필수 매개변수 및 예제 는 GitHub의 New Relic C SDK 설명서에 있습니다 .
사용자 정의가 스레드로부터 안전한지 확인하십시오.
C SDK는 다중 스레드의 로그를 지원하지만 다중 스레드를 작성하기 전에 초기화해야 합니다. 다음 함수를 호출할 때 다른 C SDK 함수가 호출되기 전에 해당 함수가 called on the main thread 인지 확인하세요.
트랜잭션 모니터링
코드를 수동으로 계측하여 트랜잭션을 모니터링하기 전에:
- 앱의 C SDK 호환성 및 요구 사항 을 확인하세요.
- 최신 버전의 C SDK 라이브러리를 사용 중인지 확인하고 필요에 따라 업데이트 하십시오.
원하는 경우... | 이 방법을 사용... |
---|---|
웹 트랜잭션 타이밍 시작 | |
웹이 아닌 트랜잭션의 타이밍 시작 | |
트랜잭션 타이밍 중지 |
|
트랜잭션이 New Relic에 보고되는 것을 방지 |
세그먼트를 사용한 시간별 방법
트랜잭션이 New Relic에 이미 표시되어 있지만 해당 트랜잭션 중에 호출된 특정 메서드에 대한 데이터가 충분하지 않은 경우 세그먼트를 계측 할 수 있습니다. 예를 들어, 복잡한 논리가 있는 메서드의 시간을 측정하려는 경우 트랜잭션의 각 메서드에 대한 세그먼트를 만들 수 있습니다.
기존 트랜잭션 내에서 메소드를 계측하려면 다음 중 하나에 대한 세그먼트를 생성하십시오.
- 외부 서비스
- 함수 또는 기타 임의의 코드 블록(사용자 지정 세그먼트 사용)
- 데이터 저장소
- 느린 쿼리 추적(SQL 데이터 저장소만 해당)
원하는 경우... | 이 방법을 사용... |
---|---|
세그먼트 타이밍 시작 |
|
세그먼트 타이밍 중지 |
|
수동으로 상위 세그먼트 |
이것은 예를 들어 트랜잭션의 최상위 호출의 자식으로 세그먼트를 시각화하려는 경우 비동기 프로세스에서 유용합니다. 자세한 내용 은 GitHub의 수동 세그먼트 육아 문서를 참조하십시오. |
세그먼트는 활성 트랜잭션에 기록됩니다. 활성 트랜잭션에 세그먼트를 추가할 때 newrelic_start_web_transaction()
또는 newrelic_start_non_web_transaction()
에서 반환되는 newrelic_txn_t*
또는 트랜잭션 포인터에 대한 액세스 권한이 필요합니다.
트랜잭션의 메타데이터 향상
New Relic이 트랜잭션에 대해 보고하는 메타데이터를 관리할 수 있습니다. 이것은 거래에 대해 다른 수준의 세부 정보를 원할 때 유용합니다. 예를 들어:
측정항목 그룹화 문제 가 발생하는 경우 거래를 더 쉽게 식별할 수 있도록 거래의 기본 이름을 변경할 수 있습니다.
프로세서에 대해
생성하려면 관습 속성을 추가할 수 있습니다.
원하는 경우... | 이 방법을 사용... |
---|---|
거래에 메타데이터(예: 고객의 계정 이름 또는 구독 수준)를 추가합니다. | 유형에 따라 트랜잭션에 사용자 정의 속성을 추가합니다. |
외부 서비스에 대한 호출 계측
다음 방법을 사용하여 다른 앱 또는 데이터베이스에 대한 앱의 연결에 대한 데이터를 수집합니다.
원하는 경우... | 이 방법을 사용... |
---|---|
분산 시스템을 통해 이동할 때 요청이 취하는 경로 확인 | 절차에 따라 분산 추적 을 활성화하고 계측합니다. |
외부 리소스(예: 외부 서비스, 데이터베이스 서버 또는 메시지 대기열)에 대한 호출 시간 측정 | 외부 세그먼트에 대한 호출 계측 절차를 따릅니다. |
오류 수집 또는 기록
C SDK는 자동으로 오류를 감지합니다. New Relic에 오류를 보고하는 방식을 변경하려면 오류 수집기 구성을 변경하십시오.
원하는 경우... | 이 방법을 사용... |
---|---|
앱의 로깅 수준 설정 |
|
오류 보고 |
앱에서 맞춤 데이터 보내기
C SDK로 사용자 지정 데이터 를 기록하려면 다음 방법 중 하나를 사용할 수 있습니다.
Custom events:
뉴렐릭에서는 이벤트 데이터가 기본적인 데이터 유형입니다. 이벤트 데이터는 특정 시점의 단일 이벤트에 대한 기록을 나타냅니다. 이는 특정 세부 정보를 보거나 쿼리하는 데 유용합니다.
Custom event attributes:
이벤트에 대한 추가 데이터를 포함하려면 사용자 정의 대시보드에 키/값 쌍(사용자 정의 속성)을 추가할 수 있습니다.
Custom metrics:
지표슬라 타임이스 데이터는 뉴렐릭이 집계한 데이터의 통계적 측정값으로 UI 에서 확인하고 차트로 표시할 수 있습니다. 일반적으로 지표 데이터는 이벤트 데이터보다 보존 기간이 더 깁니다.
다음은 사용자 지정 데이터를 사용하는 몇 가지 방법입니다. 이러한 옵션에 대한 코드 세부 정보 및 예제는 GitHub의 New Relic 전역 문서를 참조하십시오.
원하는 경우... | 이 방법을 사용... |
---|---|
타임스탬프 및 속성으로 채울 사용자 지정 이벤트를 만듭니다. | |
쿼리하거나 시각화할 수 있도록 현재 트랜잭션에 타임스탬프를 지정하고 사용자 지정 이벤트를 추가합니다. | |
추가 메타데이터로 사용자 정의 이벤트를 향상시키십시오. | 유형에 따라 사용자 정의 이벤트에 사용자 정의 이벤트 속성을 추가하십시오. |
New Relic에 보고되지 않도록 사용자 지정 이벤트가 생성된 후 트랜잭션이 종료되기 전에 버리십시오. | 이것은 프로그램의 누수를 방지하기 위해 원치 않는 사용자 지정 이벤트에 대해 할당된 메모리를 해제하는 데 필요합니다. |
검색하거나 차트로 표시할 수 있는 맞춤 실적 기간을 보고하세요. |
데스크톱 브라우저 성능 모니터링
애플리케이션의 데스크탑 브라우저 성능을 모니터링하려면 복사/붙여넣기 방법 을 사용하여 브라우저 에이전트를 설치하십시오.
구성 설정 변경
일반적으로 애플리케이션 구성의 기본 설정은 변경할 필요가 없습니다. 그러나 필요한 경우 일부 설정을 조정할 수 있습니다. 자세한 내용은 C SDK 구성 설명서 를 참조하십시오.