클라이언트 측 측정항목 설명

클라이언트 측 측정항목은 여러 Bigtable 클라이언트 라이브러리에서 사용할 수 있습니다. 이 페이지에서는 각 클라이언트 측 측정항목에 대해 자세히 설명합니다.

Go, C++, Node.js의 경우 지원되는 버전에서 이러한 측정항목이 기본적으로 사용 설정됩니다. Java 클라이언트 라이브러리의 경우 클라이언트 라이브러리 버전에 따라 측정항목을 선택 기능으로 사용하거나 기본적으로 사용할 수 있습니다. 특정 버전에 관한 자세한 내용은 각 측정항목의 '클라이언트 라이브러리 지원' 섹션을 참고하세요.

클라이언트 측 측정항목을 설정하고 구성하는 방법은 클라이언트 측 측정항목 설정을 참조하세요. 개요는 클라이언트 측 측정항목 개요를 참고하세요.

측정항목은 Bigtable 클러스터가 있는 리전에 게시됩니다. 작업이 실패한 때와 같이 Bigtable에서 측정항목의 클러스터를 확인할 수 없는 경우 측정항목은 전역 리전에 게시되고 cluster 태그 값은 unspecified입니다.

성능 디버깅을 위해 클라이언트 측 측정항목을 서버 측 측정항목과 함께 사용합니다. Bigtable 서버 측 및 클라이언트 측 측정항목의 전체 목록은 측정항목을 참고하세요.

작업 지연 시간

다음 표에는 작업 지연 시간 측정항목의 속성과 세부정보가 표시됩니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/operation_latencies
정의 Bigtable 작업과 관련된 모든 RPC 시도의 총 엔드 투 엔드 지연 시간입니다. 이 측정항목은 클라이언트에서 Bigtable로, 다시 클라이언트로의 작업 왕복을 측정하고 모든 재시도를 포함합니다.

ReadRows 요청의 경우 작업 지연 시간에 반환된 각 메시지의 애플리케이션 처리 시간이 포함됩니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 배포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 최종 작업 상태
  • 스트리밍 작업
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 작업 지연 시간 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.27.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.40.0

시도 지연 시간

다음 표에는 시도 지연 시간 측정항목의 속성과 세부정보가 표시됩니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/attempt_latencies
정의 클라이언트 RPC 시도의 지연 시간입니다.

일반적인 경우 이 값은 operation_latencies와 동일합니다. 하지만 클라이언트에서 일시적인 오류를 수신한 경우 operation_latencies는 모든 attempt_latencies와 지수 지연의 합계입니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 배포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 시도 상태
  • 스트리밍 작업
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 시도 지연 시간 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.27.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.40.0

재시도 횟수

다음 표에는 재시도 횟수 측정항목의 속성과 세부정보가 표시됩니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/retry_count
정의 작업을 완료하는 데 필요한 시도 횟수를 기록하는 카운터입니다. 일반적인 상황에서는 이 값이 비어 있습니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 INT64
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 최종 작업 상태
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 재시도 횟수 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.27.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.40.0

애플리케이션 차단 지연 시간

다음 표에는 애플리케이션 차단 지연 시간 측정항목의 속성과 세부정보가 나와 있습니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/application_blocking_latencies
정의 클라이언트에서 요청에 대한 응답을 수신한 시점부터 애플리케이션이 응답을 읽을 때까지의 시간입니다. 이 측정항목은 ReadRows 요청과 가장 관련성이 높습니다. 이 측정항목의 시작 및 중지 시간은 읽기 요청을 보내는 방식에 따라 다릅니다. 자세한 내용은 애플리케이션 차단 지연 타이머 예시를 참조하세요.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 배포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 애플리케이션 차단 지연 시간 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.38.0
Node.js 6.3.0 (ReadRows 작업)
C++ 2.41.0

애플리케이션 차단 지연 시간 타이머 예시

ReadRows 요청은 일반적으로 반복적, 비동기적 또는 향후 호출 등 3가지 방법 중 하나로 전송됩니다. 다음 예시에서는 각 ReadRows 작업 유형의 애플리케이션 차단 지연 시간의 시작 및 중지 시간을 보여줍니다.

반복

long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);

for (Row row : stream) {
   timer.start();
   // Do something with row
   timer.stop();
   totalLatency += timer.elapsed();
}

비동기

client.readRowsAsync(query, new ResponseObserver<Row>() {
    @Override
    public void onStart(StreamController streamController) {

    }

    @Override
    public void onResponse(Row row) {
        timer.start();
        // Do something with the row
        timer.stop();
        totalLatency += timer.elapsed();
    }

    @Override
    public void onError(Throwable throwable) {
        // Do something with the error
    }

    @Override
    public void onComplete() {
    }
});

향후 호출

이 유형의 ReadRows 요청에서 애플리케이션 차단 지연 시간은 약 0(타이머 없음)이어야 합니다.

List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);

첫 응답 지연 시간

다음 표에는 첫 응답 지연 시간 측정항목의 속성과 세부정보가 표시됩니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/first_response_latencies
정의 클라이언트에서 요청을 보내고 응답의 첫 번째 행을 수신한 시점의 지연 시간입니다.
지원되는 Bigtable 작업 ReadRows
유형 배포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 최종 작업 상태
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 첫 응답 지연 시간 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.27.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.40.0

서버 지연 시간

다음 표에는 서버 지연 시간 측정항목의 속성과 세부정보가 나와 있습니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/server_latencies
정의 Google 프런트엔드에서 RPC를 수신한 시간과 응답의 첫 번째 바이트를 전송한 시간 사이의 지연 시간입니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 분포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 시도 상태
  • 스트리밍 작업
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 서버 지연 시간 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.27.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.41.0

연결 오류 수

다음 표에는 연결 오류 수 측정항목의 속성과 세부정보가 나와 있습니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/connectivity_error_count
정의 Google 네트워크에 연결할 수 없는 요청 수입니다. 일반적인 경우 이 숫자는 0입니다. 숫자가 0이 아니면 애플리케이션과 Google 네트워크 간의 연결 문제를 나타낼 수 있습니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 분포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 시도 상태
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 연결 오류 수 측정항목을 사용하는 데 필요한 최소 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Go 1.38.0
Node.js 6.2.0 (ReadRowsReadRow 작업), 6.3.0 (기타 작업)
C++ 2.41.0

클라이언트 차단 지연 시간

다음 표에는 클라이언트 차단 지연 시간 측정항목의 속성과 세부정보가 나와 있습니다.

속성 설명
전체 측정항목 bigtable.googleapis.com/client/client_blocking_latencies
정의 일괄 작업에서 대기 중인 요청이 너무 많아 클라이언트에서 서버에 더 많은 요청을 보내지 않을 때 발생하는 지연 시간입니다. 버전 2.21.0 이상의 경우 이 측정항목에는 클라이언트가 채널을 만들 때 gRPC 채널에서 큐에 추가된 요청의 지연 시간도 포함됩니다.
지원되는 Bigtable 작업
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
유형 분포
사용 가능한 측정기준
  • 프로젝트 ID
  • 인스턴스 ID
  • 클러스터
  • 영역
  • 앱 프로필 ID
  • 메서드 이름
  • 클라이언트 이름

클라이언트 라이브러리 지원

다음 표에는 클라이언트 차단 지연 시간 측정항목을 사용하는 데 필요한 최소 Java 클라이언트 라이브러리 버전이 나와 있습니다.

언어 클라이언트 버전 (선택사항) 버전 (기본적으로 사용 설정됨)
자바 java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1

다음 단계