EOL 공지
2022년 4월부터 C SDK 기능을 지원하지 않습니다. 자세한 내용은 지원 포럼 게시물 을참조하십시오.
분산 추적을 사용하면 분산 시스템 전체에서 요청의 전체 여정을 볼 수 있습니다.C SDK 는 헤드 기반 샘플링으로 표준 분산 추적 을 지원합니다.Infinite Tracing 또는 W3C Trace 컨텍스트라는 기능을 지원하지 않습니다.
C SDK에서는 다른 New Relic 에이전트의 자동 계측과 달리 C 서비스를 수동으로 계측해야 합니다.즉, C SDK를 사용하려면 코드에 몇 줄을 추가한 다음 분산 추적을 활성화하기 위해 추가 구성을 추가해야 합니다.
시작하는 방법은 다음과 같습니다.
- 샘플 프로그램 계측(권장): 시작하는 빠른 방법
- 거래 및 HTTP 요청 계측
팁
시작하기 전에 더 많은 배경 지식을 얻으려면 다음 주제를 확인하십시오.
스팬 샘플링 작동 방식은 분산 추적 옵션을 설명합니다.
APM에 대한 영향은 현재
사용자이지만 분산 추적을 설정하지 않은 경우 예상되는 사항을 알려줍니다.
샘플 프로그램 계측(권장):
이것은 C SDK를 설치하고 표준 분산 추적 으로 서비스를 계측하는 방법을 빠르게 볼 수 있는 방법입니다.
주요 단계를 시작하기 전에:
- 분산 추적을 설정하려면 New Relic 계정이 필요합니다.아직 계정이 없다면 무료 계정을 빠르게 만들 수 있습니다 .이 링크를 클릭하면 가입을 완료할 수 있는 다른 사이트로 이동하지만 여기로 돌아와 아래의 설정 단계를 따를 수 있습니다.
- 요구 사항 을 충족하는지 확인하십시오.
1단계. 서비스 식별
어떤 서비스가 요청에 영향을 미치는지 파악하여 각 서비스를 계측하여 New Relic에 추적 데이터를 보낼 수 있습니다.
2단계. APM 에이전트로 각 서비스 계측
C SDK를 설치하고 샘플 앱을 계측하여 New Relic에 원격 측정을 보고하기 시작하는 방법에 대한 예가 있습니다.작동 방식을 이해하면 요청과 관련된 각 C 서비스에 원칙을 적용할 수 있습니다.일부 서비스에서 다른 언어를 사용하는 경우 해당 언어에 대한 설치 단계 를 따르십시오.
아래 샘플 서비스로 이동하기 전에 기본newrelic_app_config_t
을 생성해야 하지만 distributed_tracing.enabled
을 추가하고 true
로 설정해야 합니다.
#include <stdlib.h>#include <stdio.h>#include <unistd.h>
/** A standalone example that demonstrates to users how to* configure logging, configure an app, connect an app,* start a transaction and a segment, and cleanly destroy* everything.*/#include "libnewrelic.h"
int main(void) { newrelic_app_t* app; newrelic_txn_t* txn; newrelic_app_config_t* config; newrelic_segment_t* seg;
config = newrelic_create_app_config("<YOUR_APP_NAME>", "9931ae06b54780ab846c16fc602b5778ead3907f"); config->distributed_tracing.enabled = true; ...
샘플 프로그램을 사용하려면 여기를 클릭하십시오 .
3단계. 추적 보기
APM 에이전트로 각 서비스를 계측한 후 일부 추적을 캡처할 수 있도록 애플리케이션에서 일부 트래픽을 생성합니다.다음은 UI에서 추적을 보는 몇 가지 방법입니다.
UI에서 추적을 찾는 데 도움이 더 필요하면:
거래 및 HTTP 요청 계측
여러 서비스에서 발생하는 트랜잭션의 경우 분산 추적 페이로드에는 New Relic이 이들을 완전한 트랜잭션 추적으로 결합할 수 있는 정보가 포함되어 있습니다. 그러나 New Relic이 모니터링하는 서비스가 서로에게 추적 컨텍스트를 보내지 않으면 추적 세부 정보가 불완전하게 됩니다. 자세한 내용 은 GitHub에서 분산 추적 API 헤더 전달에 대한 설명서 및 C SDK의 분산 추적 설명서를 참조하십시오.
원하는 경우... | 이것을 사용 |
---|---|
호출된 서비스로 보낼 페이로드 생성 및 반환 | |
첫 번째 서비스에서 보낸 페이로드 수락 | 이렇게 하면 이러한 서비스가 추적으로 함께 연결됩니다. |
페이로드의 base64로 인코딩된 JSON 문자열 표현을 반환합니다. | 이는 |
페이로드에 대해 base64로 인코딩된 문자열 수락 | 이는 |