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

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

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

문제 신고

Trace API(New Relic 형식)를 통한 추적 보고

|View as Markdown (English)

고유한 추적 구현을 생성하려면 Trace API 를 사용할 수 있습니다. 이 문서에서는 newrelic 형식이라고도 하는 일반 형식으로 추적을 보내는 방법을 설명합니다. (Zipkin 형식 데이터를 보내려면 Zipkin 을 참조하십시오.)

시작하다

Trace API를 사용하는 것은 다음과 같이 간단합니다.

  • 예상 형식(이 경우 newrelic 형식)으로 추적 데이터를 보냅니다.
  • 해당 데이터를 적절한 끝점 으로 보냅니다.

Trace API를 사용하기 전에 Infinite Tracing을 사용할지 여부를 결정해야 합니다. 이에 대한 자세한 내용은 무한 추적 및 샘플링 고려 사항 소개 를 참조하십시오.

Trace API 사용을 시작하려면 다음 경로 중 하나를 따르세요.

  • 무한 추적 을 사용하고 싶습니까? 추적 관찰자 설정 지침을 따릅니다. 추적 관찰자를 만들고 샘플 페이로드를 추적 관찰자 끝점으로 보내는 과정을 안내합니다.
  • 무한 추적을 원하지 않습니까? 샘플 페이로드 를 보내는 방법(아래)을 참조하세요.

샘플 추적 페이로드 보내기(비무한 추적)

다음은 newrelic 형식을 사용하여 Trace API에 표준(비 Infinite Tracing ) 페이로드를 보내는 방법을 설명합니다.

  1. 데이터를 보고하려는 계정에 대해 를 가져옵니다.

  2. 해당 키를 다음 JSON에 삽입한 다음 JSON을 당사 엔드포인트로 보냅니다. 참고: EU 또는 JP 뉴렐릭 계정이 있는 경우 대신 적절한 지역 엔드포인트 를 사용하세요.

    bash
    $
    curl -i -H 'Content-Type: application/json' \
    >
    -H 'Api-Key: YOUR_LICENSE_KEY' \
    >
    -H 'Data-Format: newrelic' \
    >
    -H 'Data-Format-Version: 1' \
    >
    -X POST \
    >
    -d '[
    $
    {
    $
    "common": {
    $
    "attributes": {
    $
    "service.name": "Test Service A",
    $
    "host": "host123.example.com"
    $
    }
    $
    },
    $
    "spans": [
    $
    {
    $
    "trace.id": "123456",
    $
    "id": "ABC",
    $
    "attributes": {
    $
    "duration.ms": 12.53,
    $
    "name": "/home"
    $
    }
    $
    },
    $
    {
    $
    "trace.id": "123456",
    $
    "id": "DEF",
    $
    "attributes": {
    $
    "error.message": "Invalid credentials",
    $
    "service.name": "Test Service A",
    $
    "host": "host456.example.com",
    $
    "duration.ms": 2.97,
    $
    "name": "/auth",
    $
    "parent.id": "ABC"
    $
    }
    $
    }
    $
    ]
    $
    }
    $
    ]' 'https://trace-api.newrelic.com/trace/v1'

    팁

    둘 이상의 POST 를 보내는 경우 trace.id 을 고유한 값으로 변경합니다. 동일한 trace.id 에 대해 동일한 페이로드 또는 스팬 id 을 여러 번 전송하면 UI에서 조각화된 추적이 발생할 수 있습니다.

  3. 테스트에서 HTTP/1.1 202 Accepted 이 반환된 경우 UI 로 이동하여 스팬 속성 service.name = Test Service A 을 사용하여 테스트 데이터 쿼리를 확인합니다.

    팁

    추적 관찰자와 추적 API 모두에서 추적을 처리하는 데 최대 1분이 소요될 수 있습니다.

추적 API 페이로드(New Relic 형식)

Trace API JSON 페이로드는 각 개체가 단일 추적을 나타내는 개체의 배열입니다. 이러한 각 객체에는 spans 키가 필요하며 common 키도 포함될 수 있습니다. spans (필수)에는 각 개체가 범위를 나타내는 개체 배열이 포함됩니다. common (선택 사항)은 여러 범위에서 정보를 공유합니다.

spans 배열의 Span 객체

필드

type

description

필수의

기본

id

끈

이 범위의 고유 식별자입니다.

예

해당 없음

trace.id

끈

단일 추적 내 모든 범위에서 공유하는 고유 식별자입니다.

예

해당 없음

timestamp

긴

Unix epoch 이후의 스팬 시작 시간(밀리초 )입니다.

아니요

UTC 시간대의 현재 시간

attributes

물체

범위에 대한 자세한 내용을 추가하는 키/값 쌍의 집합입니다. duration.ms 은 필수이며, name 및 parent.id 속성을 추가하는 것이 좋습니다.

예

해당 없음

위의 필수 키가 없는 요청은 거부되고 NrIntegrationError 이 생성됩니다.

common 객체(선택 사항)

필드

type

description

필수의

기본

attributes

물체

페이로드의 범위에 대한 공통 세부 정보를 추가하는 키: 값 쌍의 모든 집합입니다. 범위에 common 에 설정된 속성이 포함되어 있으면 범위 속성 객체의 키가 우선합니다. duration.ms , name 및 parent.id 을(를) 추가하는 것이 좋습니다.

아니요

해당 없음

필수는 아니지만 이러한 속성은 각 범위의 attributes 개체에 있는 데이터에 대한 최상의 경험을 위해 포함되어야 합니다.

기인하다

기본

description

duration.ms

뜨다

없음

이 범위의 기간(밀리초)입니다.

name

끈

없음

이 범위의 이름입니다.

parent.id

끈

없음

이 범위의 호출자의 ID입니다. 루트 범위 인 경우 값은 null 입니다. 루트 범위가 없는 추적은 표시되지 않습니다.

service.name

끈

없음

이 스팬을 만든 항목의 이름입니다. 값이 없거나 빈 문자열이 제공되면 범위가 "UNKNOWN" 엔터티에 할당되고 UI에 이와 같이 표시됩니다. UI에서 완전한 경험을 얻으려면 이 값을 제공해야 합니다.

예약된 속성

이러한 속성은 현재 내부 New Relic 사용을 위해 예약되어 있습니다. 명시적으로 차단되지는 않지만 사용하지 않는 것이 좋습니다.

기인하다

기본

description

entity.name

끈

service.name

이것은 service.name 속성에서 파생됩니다.

entity.type

끈

service

엔터티 유형은 서비스로 간주됩니다.

entity.guid

끈

없음

entity.guid 은 New Relic의 백엔드에서 엔티티를 고유하게 식별하는 파생 값입니다.

기타 속성

제한된 속성 을 제외하고 common 또는 각 범위 개체의 attributes 개체에 원하는 임의의 속성을 추가할 수 있습니다. 예를 들어, 추적 데이터를 분석하는 데 도움이 되도록 customer.id 또는 user.id 과 같은 속성을 추가할 수 있습니다.

newrelic 형식을 사용하는 추적 JSON에 대한 요구사항 및 가이드라인:

  • 각 JSON 페이로드는 객체의 배열입니다.
  • 각 객체에는 필수 spans 키가 포함되어야 합니다.
  • 각 객체에는 선택적 common 키가 포함될 수 있습니다. 개체의 여러 범위에 걸쳐 정보를 공유하려는 경우 이 옵션을 사용합니다.
  • 범위의 모든 키는 common 블록의 동일한 키보다 우선합니다.
  • spans 키 값은 span 객체 목록입니다.
  • 특정 속성은 필수 이며 선택적 common 블록이나 각 범위에 포함되어야 합니다.
  • 권장 속성과 맞춤 속성은 attributes 이라는 키 아래, 선택적 common 블록 및/또는 각 범위의 키-값 쌍 목록에 선택적으로 포함될 수 있습니다.

다음 예시 POST 에는 trace.id 12345 와 맞춤 속성 host: host123.example.com 이 있는 두 개의 스팬이 있습니다. 첫 번째 범위에는 parent.id 이 없으므로 이것이 추적의 루트입니다. 두 번째 범위의 parent.id 는 첫 번째 범위의 ID를 가리킵니다.

[
{
"common": {
"attributes": {
"host": "host123.example.com"
}
},
"spans": [
{
"trace.id": "12345",
"id": "abc",
"timestamp": 1603336834823,
"attributes": {
"user.email": "bob@newr.com",
"service.name": "my-service",
"duration.ms": 750,
"name": "my-span"
}
},
{
"trace.id": "12345",
"id": "def",
"timestamp": 1603336834899,
"attributes": {
"parent.id": "abc",
"service.name": "second-service",
"duration.ms": 750,
"name": "second-span"
}
}
]
}
]

New Relic에서 스팬이 표시되는 방식을 제어하는 방법(예: 오류 추가 또는 스팬을 데이터 저장소 스팬으로 설정)을 알아보려면 스팬 장식 을 참조하십시오.

분산 추적에 대해 자세히 알아보기:

Copyright © 2026 New Relic Inc.

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