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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

C 서비스에 대한 분산 추적

분산 추적을 사용하면 분산 시스템 전체에서 요청의 전체 여정을 볼 수 있습니다.C SDK 는 헤드 기반 샘플링으로 표준 분산 추적 을 지원합니다.Infinite Tracing 또는 W3C Trace 컨텍스트라는 기능을 지원하지 않습니다.

C SDK에서는 다른 New Relic 에이전트의 자동 계측과 달리 C 서비스를 수동으로 계측해야 합니다.즉, C SDK를 사용하려면 코드에 몇 줄을 추가한 다음 분산 추적을 활성화하기 위해 추가 구성을 추가해야 합니다.

시작하는 방법은 다음과 같습니다.

시작하기 전에 더 많은 배경 지식을 얻으려면 다음 주제를 확인하십시오.

  • 스팬 샘플링 작동 방식은 분산 추적 옵션을 설명합니다.

  • 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의 분산 추적 설명서를 참조하십시오.

원하는 경우...

이것을 사용

호출된 서비스로 보낼 페이로드 생성 및 반환

newrelic_create_distributed_trace_payload()

첫 번째 서비스에서 보낸 페이로드 수락

이렇게 하면 이러한 서비스가 추적으로 함께 연결됩니다.

페이로드의 base64로 인코딩된 JSON 문자열 표현을 반환합니다.

이는 newrelic_create_distributed_trace_payload() 과 동일한 동작을 제공합니다.

페이로드에 대해 base64로 인코딩된 문자열 수락

이는 newrelic_accept_distributed_trace_payload() 과 동일한 동작을 제공합니다.

Copyright © 2024 New Relic Inc.

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