OpenTelemetry로 계측된 서비스에서 데이터를 보낼 준비가 되면 OTLP에 대한 지원에 대해 잘 알고 있어야 합니다.
OTLP(OpenTelemetry Protocol)
OTLP(OpenTelemetry Protocol)는 OpenTelemetry 계측, 에이전트, 백엔드 및 수집기에서 사용하는 원격 측정 교환 프로토콜입니다. 프로토콜 사양은 이러한 구성 요소가 버전 간에 계속 통신할 수 있도록 역호환성 을 요구하며 잠재적으로 기능이 저하될 수 있습니다. 백엔드로서 New Relic은 처음에 2021년 9월 23일에 OTLP 버전 0.10.0 에 대한 일반 가용성 지원을 발표했습니다. 그 이후로 프로토콜이 성숙해짐에 따라 많은 변경이 이루어졌습니다. 2022년 9월 30일부터 New Relic은 OTLP 버전 0.18.0 을 지원합니다.
OTLP 버전 0.18.0
프로토콜 버전 0.18.0의 이정표는 프로토콜의 핵심 원격 측정 신호(로그, 메트릭 및 추적)의 안정성입니다. 안정성 정의 는 변경되지 않고 여전히 변경될 수 있는 특정 필드, 숫자 및 이름에 대해 자세히 설명합니다.
팁
현재 OTLP/JSON은 아직 안정적이지 않습니다. 일단 변경되면 현재 변경될 프로토콜의 일부는 유선에서 볼 수 있으므로 더 이상 허용되지 않습니다.
0.10.0과 0.18.0 사이에 추가된 또 다른 주요 기능은 0.11.0에 추가되고 최신 릴리스에서 개선된 지수 히스토그램입니다. 지수 히스토그램은 HTTP 응답 시간과 같은 롱테일 분포를 나타내는 데 더 좋고 전송하기 더 효율적이며 New Relic과 같은 백엔드에서 더 최적으로 처리할 수 있습니다.
다음은 이 두 릴리스 간의 주목할만한 변경 사항에 대한 자세한 내용입니다.
추가됨
- 지수 히스토그램: New Relic은 델타 집계 시간성을 사용하여 지수 히스토그램의 수집을 지원합니다. 최소, 최대 및 합계 필드는 선택 사항이지만 허용됩니다.
LogRecord ObservedTimestamp
: 0.13.0에 추가된 이 필드는 OpenTelemetry 컬렉션 구성 요소(예: 애플리케이션 계측 또는 수집기)에서 로그 레코드를 처음 본 시점을 나타냅니다.
변경됨
InstrumentationLibrary
이름이 InstrumentationScope
으)로 변경되었습니다. 측정항목, 로그 및 추적은 InstrumentationLibrary
또는 InstrumentationScope
아래에 저장됩니다. 각각에 대해 이름과 버전이 otel.scope.name
및 otel.scope.version
속성으로 추가됩니다.
주의
InstrumentationLibrary
은(는) 향후 어느 시점에서 지원이 중단될 예정이므로 최신 InstrumentationScope
을(를) 권장합니다.
제거됨
일부 메시지 및 필드는 측정항목에 대해 더 이상 사용되지 않습니다. 각 메트릭 유형의 정수 버전이 제거되었습니다.
주의
StringKeyValue
레이블은 제거되었지만 여전히 "레이블"을 사용하는 OpenTelemetry 구성 요소의 이전 버전은 이전 버전과의 호환성을 위해 New Relic에서 속성으로 허용됩니다. 이 지원은 향후 어느 시점에서 제거될 것입니다.