• 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 서비스에 대한 분산 추적

분산 추적을 사용하면 분산 시스템 전체에서 요청의 전체 여정을 볼 수 있습니다.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.