• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

C SDK API 사용 안내

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.