RATATOSKRATATOSK
로그인

OpenTelemetry

v0.151.0Observability
2026년 4월 29일

v0.151.0은 OTLP receiver 설정 구조체에서 API 수준의 breaking change가 있고, builder의 go.mod 생성 기본 동작이 바뀝니다. 듀얼스택 gRPC 연결 문제 해결과 pprofile 데이터 손상 버그 수정이 운영 측면에서 가장 주요한 변경입니다.

  • breaking커스텀 콜렉터에서 OTLP receiver 필드 접근 방식 수정 필요

    OTLP receiver의 Config.Protocols가 이제 named field로 바뀌어, cfg.GRPC / cfg.HTTP를 직접 참조하는 코드는 컴파일이 깨집니다. OTLP receiver를 임베드하거나 확장한 커스텀 콜렉터가 있다면 cfg.Protocols.GRPC, cfg.Protocols.HTTP로 변경한 뒤 업그레이드하세요.

  • breaking빌더 생성 결과물을 커밋한다면 go.mod 경로 방식 확인

    cmd/builder가 생성하는 go.mod의 replace 경로가 기본값으로 상대 경로로 바뀌었습니다. 여러 머신에서 동일한 생성 코드를 빌드한다면 이 변경이 유리하지만, 절대 경로를 파싱하는 스크립트나 툴링이 있다면 dist::use_absolute_replace_paths: true를 설정해 기존 동작을 유지하면서 마이그레이션하세요.

  • enhancement듀얼스택 DNS 환경의 gRPC 연결 문제는 passthrough 리졸버로 해결

    grpc.NewClient 전환 이후 듀얼스택 DNS 환경에서 OTLP gRPC 익스포터 연결이 간헐적으로 실패하는 사례가 보고됐습니다. exporter 설정의 endpoint를 passthrough:///host:port 형식으로 바꾸면 해결됩니다. IPv4/IPv6 혼용 환경에서 연결 오류를 겪고 있다면 우선 이 방법을 시도해보세요.

주요 변경 (6)

  • cmd/builder: 생성된 go.mod의 replace 경로가 상대 경로로 변경됨 (절대 경로로 되돌리려면 dist::use_absolute_replace_paths 사용)
  • receiver/otlp API: cfg.GRPC, cfg.HTTP 접근을 cfg.Protocols.GRPC, cfg.Protocols.HTTP로 변경 필요
  • configgrpc: endpoint에 passthrough:/// 리졸버 스킴 지정 가능, 듀얼스택 DNS 문제 해결
  • pkg/pprofile: marshal-unmarshal-merge 후 resource/scope 속성이 손상되는 버그 수정
  • pkg/service: 텔레메트리 설정의 non-string resource attribute가 패닉 대신 에러를 반환하도록 수정
  • confighttp의 framedSnappy feature gate가 stable로 승격