이 페이지에서는 OpenTelemetry를 사용한 trace 수집에 관한 개요 정보를 제공합니다. Spanner 요청을 모니터링하고 디버그하려면 Spanner 클라이언트 라이브러리에서 trace를 사용 설정하면 됩니다. 클라이언트 측 및 엔드 투 엔드 추적을 사용하면 성능을 모니터링하고 문제를 디버그할 수 있습니다.
trace는 다음과 같이 클라이언트의 모든 요청에 관한 관련 정보를 제공합니다.
클라이언트가 RPC 요청을 보낸 시간과 클라이언트가 RPC 응답을 수신한 시간의 타임스탬프가 포함된 스팬(네트워크 및 클라이언트 시스템으로 인한 지연 시간 포함)
클라이언트 및 구성에 관한 정보를 제공하는 속성(키-값 쌍)
스팬의 중요한 이벤트가 포함된 주석
스팬 및 속성에 관한 자세한 내용은 OpenTelemetry 문서의 스팬 및 속성을 참조하세요.
엔드 투 엔드 추적
클라이언트 측 추적 외에도 엔드 투 엔드 추적(미리보기)을 선택할 수 있습니다. 엔드 투 엔드 추적을 사용하면 다음과 같은 Spanner 관련 지연 시간 문제를 파악하고 디버그할 수 있습니다.
지연 시간이 애플리케이션과 Spanner 간의 네트워크 지연 시간으로 인한 것인지 또는 Spanner 내에서 발생하는 지연 시간인지 확인합니다.
애플리케이션 요청이 라우팅되는 Google Cloud 리전과 교차 리전 요청이 있는지 확인합니다. 리전 간 요청은 일반적으로 애플리케이션과 Spanner 간의 지연 시간이 더 길다는 것을 의미합니다.
OpenTelemetry
Spanner 클라이언트 라이브러리는 OpenTelemetry API를 사용하여 trace 수집을 지원합니다. OpenTelemetry는 오픈소스 관측 가능성 프레임워크입니다. OpenTelemetry는 특정 백엔드용 내보내기 도구, 샘플링 비율, 스팬 제한과 같은 다양한 구성을 제공합니다.
내보내기 도구 및 수집기로 trace 내보내기
구성의 일부로 관측 가능성 백엔드로 trace를 내보낼 수 있습니다. 대부분의 관측 가능성 서비스 제공업체는 trace 내보내기 도구와 같은 내보내기 도구를 제공합니다.
OpenTelemetry에서는 내보내기 도구 외에도 수집기를 설정하는 것이 좋습니다. 수집기를 사용하면 서비스가 데이터를 빠르게 오프로드하고 수집기에서 재시도, 일괄 처리, 암호화와 같은 추가 작업을 처리할 수 있습니다. 수집기는 애플리케이션과 함께 실행됩니다. 수집기는 OLTP 메시지를 수신하고 메시지를 처리한 후 관측 가능성 백엔드로 내보냅니다.
제한사항
Spanner trace에는 다음과 같은 제한사항이 있습니다.
- trace 스팬은 Java 및 Go 클라이언트 라이브러리에서만 사용할 수 있습니다.
- 엔드 투 엔드 trace는 Cloud Trace로만 내보낼 수 있습니다.
결제
추적 시 Spanner 사용량 외에도 관측 가능성 백엔드를 통해 비용이 청구될 수 있습니다.
관측 가능성 백엔드로 trace 스팬을 수집하는 데 비용이 청구됩니다. 예를 들어 Cloud Trace를 백엔드로 사용하는 경우 Cloud Trace 가격 책정에 따라 요금이 청구됩니다.
요금을 더 잘 이해하려면 트래픽을 기반으로 소규모 trace 샘플링 비율로 시작합니다.
다음 단계
클라이언트 측 및 엔드 투 엔드 추적을 설정하려면 OpenTelemetry를 사용하여 trace 수집 설정을 참조하세요.