클라이언트 측 측정항목 설명
클라이언트 측 측정항목은 Java용 Bigtable 클라이언트 라이브러리 또는 Java용 Bigtable HBase 클라이언트를 사용할 때 사용 가능합니다. 이 페이지에서는 각 클라이언트 측 측정항목에 대해 자세히 설명합니다.
클라이언트 측 측정항목을 설정하고 구성하는 방법은 클라이언트 측 측정항목 설정을 참조하세요. 개요는 클라이언트 측 측정항목 개요를 참조하세요.
측정항목은 Bigtable 클러스터가 있는 리전에 게시됩니다. 작업이 실패한 때와 같이 Bigtable에서 측정항목의 클러스터를 확인할 수 없는 경우 측정항목은 전역 리전에 게시되고 cluster
태그 값은 unspecified
입니다.
성능 디버깅을 위해 클라이언트 측 측정항목을 서버 측 측정항목과 함께 사용합니다. Bigtable 서버 측 및 클라이언트 측 측정항목의 전체 목록은 측정항목을 참조하세요.
작업 지연 시간
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/operation_latencies |
정의 | Bigtable 작업과 관련된 모든 RPC 시도의 총 엔드 투 엔드 지연 시간입니다. 이 측정항목은 클라이언트에서 Bigtable로, 다시 클라이언트로의 작업 왕복을 측정하고 모든 재시도를 포함합니다.ReadRows 요청의 경우 작업 지연 시간에 반환된 각 메시지의 애플리케이션 처리 시간이 포함됩니다. |
지원되는 Bigtable 작업 |
|
유형 | 배포 |
사용 가능한 측정기준 |
|
시도 지연 시간
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/attempt_latencies |
정의 | 클라이언트 RPC 시도의 지연 시간입니다. 일반적인 경우 이 값은 operation_latencies 와 동일합니다. 하지만 클라이언트에서 일시적인 오류를 수신한 경우 operation_latencies 는 모든 attempt_latencies 와 지수 지연의 합계입니다. |
지원되는 Bigtable 작업 |
|
유형 | 배포 |
사용 가능한 측정기준 |
|
재시도 횟수
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/retry_count |
정의 | 작업을 완료하는 데 필요한 시도 횟수를 기록하는 카운터입니다. 일반적인 상황에서는 이 값이 비어 있습니다. |
지원되는 Bigtable 작업 |
|
유형 | INT64 |
사용 가능한 측정기준 |
|
애플리케이션 차단 지연 시간
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/application_blocking_latencies |
정의 | 클라이언트에서 요청에 대한 응답을 수신한 시점부터 애플리케이션이 응답을 읽을 때까지의 시간입니다. 이 측정항목은 ReadRows 요청과 가장 관련성이 높습니다. 이 측정항목의 시작 및 중지 시간은 읽기 요청을 보내는 방식에 따라 다릅니다. 자세한 내용은 애플리케이션 차단 지연 타이머 예시를 참조하세요.
|
지원되는 Bigtable 작업 |
|
유형 | 배포 |
사용 가능한 측정기준 |
|
애플리케이션 차단 지연 시간 타이머 예시
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 |
유형 | 배포 |
사용 가능한 측정기준 |
|
서버 지연 시간
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/server_latencies |
정의 | Google 프런트엔드에서 RPC를 수신한 시간과 응답의 첫 번째 바이트를 전송한 시간 사이의 지연 시간입니다. |
지원되는 Bigtable 작업 |
|
유형 | 분포 |
사용 가능한 측정기준 |
|
연결 오류 수
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/connectivity_error_count |
정의 | Google 네트워크에 연결할 수 없는 요청 수입니다. 일반적인 경우 이 숫자는 0입니다. 숫자가 0이 아니면 애플리케이션과 Google 네트워크 간의 연결 문제를 나타낼 수 있습니다. |
지원되는 Bigtable 작업 |
|
유형 | 분포 |
사용 가능한 측정기준 |
|
클라이언트 차단 지연 시간
속성 | 설명 |
---|---|
전체 측정항목 | bigtable.googleapis.com/client/client_blocking_latencies |
정의 | 일괄 작업에서 대기 중인 요청이 너무 많아 클라이언트에서 서버에 더 많은 요청을 보내지 않을 때 발생하는 지연 시간입니다. 버전 2.21.0 이상의 경우 이 측정항목에는 gRPC 채널에서 큐에 추가된 요청의 지연 시간도 포함됩니다. |
지원되는 Bigtable 작업 |
|
유형 | 분포 |
사용 가능한 측정기준 |
|