• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

C SDK API 사용 안내

EOL 공지

2022년 4월부터 C SDK를 비롯한 여러 기능에 대한 지원이 중단됩니다. 이 전환을 쉽게 준비하는 방법을 비롯한 자세한 내용은 Explorers Hub 게시물 을 참조하세요.

New Relic의 C SDK는 애플리케이션과 마이크로서비스를 모니터링하여 성능 문제를 식별하고 해결하는 데 도움을 줍니다. C 애플리케이션은 컴파일된 네이티브 바이너리 파일에서 실행됩니다. 트랜잭션 을 모니터링하려면 New Relic 메서드를 코드에 추가하여 수동으로 코드를 계측해야 합니다.

이 가이드는 사용할 방법을 결정하는 데 도움이 됩니다. 메서드의 코드, 필수 매개변수 및 예제 는 GitHub의 New Relic C SDK 설명서에 있습니다 .

사용자 정의가 스레드로부터 안전한지 확인하십시오.

C SDK는 다중 스레드 응용 프로그램의 계측을 지원하지만 다중 스레드를 계측하기 전에 초기화해야 합니다. 다음 함수를 호출할 때 다른 C SDK 함수가 호출되기 전에 기본 스레드에서 호출 되는지 확인하십시오.

트랜잭션 모니터링

코드를 수동으로 계측하여 트랜잭션을 모니터링하기 전에:

  1. 앱의 C SDK 호환성 및 요구 사항 을 확인하세요.
  2. 최신 버전의 C SDK 라이브러리를 사용 중인지 확인하고 필요에 따라 업데이트 하십시오.

원하는 경우...

이 방법을 사용...

웹 트랜잭션 타이밍 시작

newrelic_start_web_transaction()

웹이 아닌 트랜잭션의 타이밍 시작

newrelic_start_non_web_transaction()

트랜잭션 타이밍 중지

newrelic_end_transaction()

트랜잭션이 New Relic에 보고되는 것을 방지

newrelic_ignore_transaction()

세그먼트를 사용한 시간별 방법

트랜잭션이 New Relic에 이미 표시되어 있지만 해당 트랜잭션 중에 호출된 특정 메서드에 대한 데이터가 충분하지 않은 경우 세그먼트를 계측 할 수 있습니다. 예를 들어, 복잡한 논리가 있는 메서드의 시간을 측정하려는 경우 트랜잭션의 각 메서드에 대한 세그먼트를 만들 수 있습니다.

기존 트랜잭션 내에서 메소드를 계측하려면 다음 중 하나에 대한 세그먼트를 생성하십시오.

  • 외부 서비스
  • 함수 또는 기타 임의의 코드 블록(사용자 지정 세그먼트 사용)
  • 데이터 저장소
  • 느린 쿼리 추적(SQL 데이터 저장소만 해당)

원하는 경우...

이 방법을 사용...

세그먼트 타이밍 시작

newrelic_start_datastore_segment()newrelic_start_external_segment()newrelic_start_segment()

세그먼트 타이밍 중지

newrelic_end_segment()

수동으로 상위 세그먼트

newrelic_set_segment_parent() 그리고 newrelic_set_segment_parent_root()

이것은 예를 들어 트랜잭션의 최상위 호출의 자식으로 세그먼트를 시각화하려는 경우 비동기 프로세스에서 유용합니다. 자세한 내용 은 GitHub의 수동 세그먼트 육아 문서를 참조하십시오.

세그먼트는 활성 트랜잭션에 기록됩니다. 활성 트랜잭션에 세그먼트를 추가할 때 newrelic_start_web_transaction() 또는 newrelic_start_non_web_transaction() 에서 반환되는 newrelic_txn_t* 또는 트랜잭션 포인터에 대한 액세스 권한이 필요합니다.

트랜잭션의 메타데이터 향상

New Relic이 트랜잭션에 대해 보고하는 메타데이터를 관리할 수 있습니다. 이것은 거래에 대해 다른 수준의 세부 정보를 원할 때 유용합니다. 예를 들어:

  • 측정항목 그룹화 문제 가 발생하는 경우 거래를 더 쉽게 식별할 수 있도록 거래의 기본 이름을 변경할 수 있습니다.
  • 거래에 대한 대시보드를 생성하려는 경우 사용자 정의 속성을 추가할 수 있습니다.

원하는 경우...

이 방법을 사용...

거래에 메타데이터(예: 고객의 계정 이름 또는 구독 수준)를 추가합니다.

유형에 따라 트랜잭션에 사용자 정의 속성을 추가합니다.

외부 서비스에 대한 호출 계측

다음 방법을 사용하여 다른 앱 또는 데이터베이스에 대한 앱의 연결에 대한 데이터를 수집합니다.

원하는 경우...

이 방법을 사용...

분산 시스템을 통해 이동할 때 요청이 취하는 경로 확인

절차에 따라 분산 추적 을 활성화하고 계측합니다.

외부 리소스(예: 외부 서비스, 데이터베이스 서버 또는 메시지 대기열)에 대한 호출 시간 측정

외부 세그먼트에 대한 호출 계측 절차를 따릅니다.

오류 수집 또는 기록

C SDK는 자동으로 오류를 감지합니다. New Relic에 오류를 보고하는 방식을 변경하려면 오류 수집기 구성을 변경하십시오.

원하는 경우...

이 방법을 사용...

앱의 로깅 수준 설정

newrelic_configure_log() 을 사용하여 C SDK 로그를 구성하고 명령줄 플래그를 구성하여 C 데몬 로그를 구성합니다. 자세한 내용은 C SDK 로깅 설명서 를 참조하십시오.

오류 보고

newrelic_notice_error()

앱에서 맞춤 데이터 보내기

C SDK로 사용자 지정 데이터 를 기록하려면 다음 방법 중 하나를 사용할 수 있습니다.

  • 사용자 지정 이벤트: New Relic에서 이벤트 데이터는 기본 데이터 유형입니다. 이벤트 데이터는 특정 시점의 단일 이벤트 기록을 나타냅니다. 이는 특정 세부 정보를 보거나 쿼리하는 데 유용합니다.
  • 사용자 정의 이벤트 속성: 이벤트에 대한 추가 메타데이터를 포함하기 위해 키/값 쌍( custom-attributes )을 사용자 정의 이벤트에 추가할 수 있습니다.
  • 사용자 지정 메트릭: 메트릭 타임슬라이스 데이터 는 New Relic이 집계하는 데이터의 통계적 척도이므로 UI에서 보고 차트로 표시할 수 있습니다. 일반적으로 메트릭 데이터는 이벤트 데이터보다 보존 기간이 더 깁니다.

다음은 사용자 지정 데이터를 사용하는 몇 가지 방법입니다. 이러한 옵션에 대한 코드 세부 정보 및 예제는 GitHub의 New Relic 전역 문서를 참조하십시오.

원하는 경우...

이 방법을 사용...

타임스탬프 및 속성으로 채울 사용자 지정 이벤트를 만듭니다.

newrelic_create_custom_event()

쿼리하거나 시각화할 수 있도록 현재 트랜잭션에 타임스탬프를 지정하고 사용자 지정 이벤트를 추가합니다.

newrelic_record_custom_event()

추가 메타데이터로 사용자 정의 이벤트를 향상시키십시오.

유형에 따라 사용자 정의 이벤트에 사용자 정의 이벤트 속성을 추가하십시오.

New Relic에 보고되지 않도록 사용자 지정 이벤트가 생성된 후 트랜잭션이 종료되기 전에 버리십시오.

newrelic_discard_custom_event

이것은 프로그램의 누수를 방지하기 위해 원치 않는 사용자 지정 이벤트에 대해 할당된 메모리를 해제하는 데 필요합니다.

검색하거나 차트로 표시할 수 있는 맞춤 실적 기간을 보고하세요.

newrelic_record_custom_metric()

데스크톱 브라우저 성능 모니터링

애플리케이션의 데스크탑 브라우저 성능을 모니터링하려면 복사/붙여넣기 방법 을 사용하여 브라우저 에이전트를 설치하십시오.

구성 설정 변경

일반적으로 애플리케이션 구성의 기본 설정은 변경할 필요가 없습니다. 그러나 필요한 경우 일부 설정을 조정할 수 있습니다. 자세한 내용은 C SDK 구성 설명서 를 참조하십시오.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.