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

클라이언트 측 측정항목은 Java용 Bigtable 클라이언트 라이브러리 또는 Java용 Bigtable HBase 클라이언트를 사용할 때 사용 가능합니다. 이 페이지에서는 각 클라이언트 측 측정항목에 대해 자세히 설명합니다.

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

측정항목은 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
  • 메서드 이름
  • 최종 작업 상태
  • 스트리밍 작업
  • 클라이언트 이름

시도 지연 시간

속성 설명
전체 측정항목 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
  • 메서드 이름
  • 시도 상태
  • 스트리밍 작업
  • 클라이언트 이름

재시도 횟수

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

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

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

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

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
  • 메서드 이름
  • 최종 작업 상태
  • 클라이언트 이름

서버 지연 시간

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

연결 오류 수

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

클라이언트 차단 지연 시간

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

다음 단계