이 문서에서는 OpenTelemetry를 사용하여 커스텀 클라이언트 측정항목을 캡처하는 방법을 설명합니다. 맞춤 클라이언트 측정항목은 Java 및 Go 클라이언트 라이브러리를 사용하여 사용할 수 있습니다.
맞춤 클라이언트 측 측정항목을 사용하면 시스템에서 지연 시간의 원인을 찾을 수 있습니다. 자세한 내용은 Spanner 요청의 지연 시간 지점을 참고하세요.
Spanner 클라이언트 라이브러리는 OpenTelemetry 관측 가능성 프레임워크를 사용하여 통계와 trace도 제공합니다. 자세한 내용은 OpenTelemetry를 사용하여 trace 수집 설정을 참고하세요.
OpenTelemetry는 trace, 측정항목, 로그와 같은 원격 분석 데이터를 만들고 관리할 수 있게 해주는 오픈소스 관측 가능성 프레임워크 및 툴킷입니다.
시작하기 전에
원격 분석 데이터를 내보내는 데 적절한 옵션으로 OpenTelemetry SDK를 구성해야 합니다. OpenTelemetry 프로토콜 (OTLP) 내보내기 도구를 사용하는 것이 좋습니다.
OpenTelemetry를 사용하여 커스텀 클라이언트 측 측정항목을 설정하려면 OpenTelemetry SDK 및 OTLP 내보내기 도구를 구성해야 합니다.
다음 코드를 사용하여 애플리케이션에 필요한 종속 항목을 추가합니다.
자바
Go
OTLP 내보내기 도구를 사용하여 OpenTelemetry 객체를 만들고
SpannerOptions
를 사용하여 Spanner에 삽입합니다.자바
Go
GFE 지연 시간 캡처
Google 프런트엔드(GFE) 지연 시간은 Google 네트워크에서 클라이언트의 리모트 프로시져 콜을 수신한 후 GFE가 응답의 첫 번째 바이트를 수신할 때까지의 시간(밀리초)입니다.
다음 코드를 사용하여 GFE 지연 시간을 캡처할 수 있습니다.
자바
Go
이 코드 샘플은 Cloud Monitoring으로 내보낼 때 측정항목 이름에 문자열 spanner/gfe_latency
를 추가합니다. 추가된 문자열을 사용하여 Cloud Monitoring에서 이 측정항목을 검색할 수 있습니다.
Cloud Spanner API 요청 지연 시간 캡처
Cloud Spanner API 요청 지연 시간은 Cloud Spanner API 프런트엔드에서 수신한 클라이언트 요청의 첫 번째 바이트와 Cloud Spanner API 프런트엔드에서 전송한 응답의 마지막 바이트 사이의 시간(초)입니다.
이 지연 시간 측정항목은 Cloud Monitoring 측정항목의 일부로 제공됩니다.
클라이언트 왕복 지연 시간 캡처
클라이언트 왕복 지연 시간은 클라이언트가 GFE 및 Cloud Spanner API 프런트엔드를 통해 데이터베이스로 전송한 Cloud Spanner API 요청의 첫 번째 바이트와 클라이언트가 데이터베이스에서 수신한 응답의 마지막 바이트 사이의 시간 (밀리초)입니다.
OpenTelemetry를 사용하는 경우 Spanner 클라이언트 왕복 지연 시간 측정항목은 지원되지 않습니다. 대신 작업 지연 시간 클라이언트 측 측정항목을 볼 수 있습니다. 자세한 내용은 클라이언트 측 측정항목 설명을 참고하세요.
브리지와 함께 OpenCensus를 사용하면 측정항목을 계측하고 데이터를 OpenTelemetry로 마이그레이션할 수도 있습니다.
쿼리 지연 시간 캡처
쿼리 지연 시간은 Spanner 데이터베이스에서 SQL 쿼리를 실행하는 데 걸리는 시간(밀리초)입니다.
다음 코드를 사용하여 쿼리 지연 시간을 캡처할 수 있습니다.
자바
Go
이 코드 샘플은 Cloud Monitoring으로 내보낼 때 측정항목 이름에 문자열 spanner/query_stats_elapsed
를 추가합니다. 추가된 문자열을 사용하여 Cloud Monitoring에서 이 측정항목을 검색할 수 있습니다.
측정항목 탐색기에서 측정항목 보기
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
프로젝트를 선택합니다.
측정항목 선택을 클릭합니다.
다음 문자열을 사용하여 지연 시간 측정항목을 검색합니다.
roundtrip_latency
: 클라이언트 왕복 지연 시간 측정항목입니다.spanner/gfe_latency
: GFE 지연 시간 측정항목spanner/query_stats_elapsed
: 쿼리 지연 시간 측정항목
측정항목을 선택한 다음 적용을 클릭합니다.
측정항목 그룹화 또는 집계에 관한 자세한 내용은 메뉴를 사용하여 쿼리 빌드를 참고하세요.
다음 단계
- OpenTelemetry 자세히 알아보기
- OpenTelemetry SDK를 구성하는 방법을 알아보세요.
- OpenTelemetry로 마이그레이션하는 방법 알아보기
- 측정항목을 사용하여 지연 시간을 진단하는 방법을 알아보세요.