• 로그인지금 시작하세요

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

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

문제 신고

C 서비스에 대한 분산 추적

EOL 공지

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

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

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

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

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

샘플 프로그램 계측(권장):

이것은 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;
  ...

샘플 프로그램을 사용해 보려면 이 타일을 클릭하십시오.

Start sample

3단계. 추적 보기

APM 에이전트로 각 서비스를 계측한 후 일부 추적을 캡처할 수 있도록 애플리케이션에서 일부 트래픽을 생성합니다.다음은 UI에서 추적을 보는 몇 가지 방법입니다.

UI에서 추적을 찾는 데 도움이 더 필요하면:

거래 및 HTTP 요청 계측

여러 서비스에서 발생하는 트랜잭션의 경우 분산 추적 페이로드에는 New Relic이 이들을 완전한 트랜잭션 추적으로 결합할 수 있는 정보가 포함되어 있습니다. 그러나 New Relic이 모니터링하는 서비스가 서로에게 추적 컨텍스트를 보내지 않으면 추적 세부 정보가 불완전하게 됩니다. 자세한 내용 은 GitHub에서 분산 추적 API 헤더 전달에 대한 설명서 및 C SDK의 분산 추적 설명서를 참조하십시오.

원하는 경우...

이것을 사용

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

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

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

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

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

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

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

Copyright © 2022 New Relic Inc.

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