Stay organized with collections
Save and categorize content based on your preferences.
Client-side metrics overview
Bigtable provides client-side metrics that you can use together
with server-side metrics to optimize performance and troubleshoot performance
issues if they occur.
This page provides an overview of Bigtable client-side metrics and
discusses when to use them. For setup and configuration instructions, see Set
up client-side metrics. For a
detailed list of the metrics, see Client-side metrics
descriptions.
Client-side metrics are measured from the time a request leaves your
application to the time the response is received by your application. In
contrast, server-side metrics are measured from the time
Bigtable receives a request until the last byte of data is sent to
the client.
Client-side metrics are available for users of the following client libraries:
We recommend that you update all applications integrated with
OpenCensus Stats
to use Bigtable client-side metrics instead.
Bigtable client-side metrics improve on the OpenCensus integration
and, unlike with OpenCensus Stats, you incur no additional cost for publishing
the metrics.
When to use client-side metrics
We recommend that you always use client-side metrics in conjunction with
server-side metrics to get a complete, actionable view of your
Bigtable performance. Viewing metrics from both the client and
server sides is especially useful when you are optimizing performance or
troubleshooting issues, and you need to determine in which segment of the
request lifecycle a problem is occurring.
Using both types of metrics is especially valuable for the following types of
workloads:
Serving path reads in user-facing and commercial applications
Critical backend services
Large-scale data pipelines with multiple consumers
Client-side metrics give you insight into which portion of the request lifecycle
might be causing latency:
Expected behaviors
The following behaviors are normal and expected:
One-minute startup time: After you enable client-side metrics, let
your application run for at least a minute before you check for any
published metrics.
Minor differences between server latencies and client attempt latencies:
After enabling client-side metrics, you might notice a single-digit
difference between the bigtable.googleapis.com/server/latencies and
bigtable.googleapis.com/client/attempt_latencies metrics that you were
previously not aware of. For example, if your application uses a
Compute Engine VM and Bigtable in the same region, the
difference between client attempt latencies and server latencies shows the network
latencies. For 350 queries per second (QPS) and payload size 5 KB, the network latency is around 4 ms.
This latency is expected.
Costs
There is no charge to view client-side metrics in Cloud Monitoring. If you
use the Cloud Monitoring API, usage fees might apply. See
Google Cloud Observability pricing
for details.
Limitations
Client-side metrics are not supported for applications that integrate
Dataflow or Apache Beam client libraries with the Bigtable
HBase client for Java.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eBigtable provides client-side metrics to complement server-side metrics for optimizing performance and troubleshooting issues.\u003c/p\u003e\n"],["\u003cp\u003eClient-side metrics measure the time from when a request leaves the application to when the response is received, differing from server-side metrics.\u003c/p\u003e\n"],["\u003cp\u003eThese metrics are accessible via Cloud Monitoring, its API, and Bigtable monitoring, and are available for Java and Go client libraries.\u003c/p\u003e\n"],["\u003cp\u003eUsing both client-side and server-side metrics together gives a comprehensive view of Bigtable performance, particularly useful for user-facing apps, critical backend services, and large data pipelines.\u003c/p\u003e\n"],["\u003cp\u003eThere are no additional costs to view these metrics in Cloud Monitoring, although Cloud Monitoring API usage may have associated fees.\u003c/p\u003e\n"]]],[],null,["# Client-side metrics overview\n============================\n\nBigtable provides client-side metrics that you can use together\nwith server-side metrics to optimize performance and troubleshoot performance\nissues if they occur.\n\nThis page provides an overview of Bigtable client-side metrics and\ndiscusses when to use them. For setup and configuration instructions, see [Set\nup client-side metrics](/bigtable/docs/client-side-metrics-setup). For a\ndetailed list of the metrics, see [Client-side metrics\ndescriptions](/bigtable/docs/client-side-metrics-descriptions).\n\n*Client-side metrics* are measured from the time a request leaves your\napplication to the time the response is received by your application. In\ncontrast, *server-side metrics* are measured from the time\nBigtable receives a request until the last byte of data is sent to\nthe client.\n\nClient-side metrics are available for users of the following client libraries:\n\n- [Bigtable client library for C++](/cpp/docs/reference/bigtable/latest)\n- [Bigtable client library for Java](/java/docs/reference/google-cloud-bigtable/latest/overview)\n- [Bigtable HBase client for Java](https://github.com/googleapis/java-bigtable-hbase)\n- [Bigtable client library for Go](https://pkg.go.dev/cloud.google.com/go/bigtable)\n- [Bigtable client library for Node.js](/nodejs/docs/reference/bigtable/latest)\n\nYou can access client-side metrics in one of the following ways:\n\n- [Cloud Monitoring](/monitoring/docs/monitoring-overview), under **Metrics Explorer**\n\n- [Cloud Monitoring API](/monitoring/api/v3)\n\n- [Bigtable system insights](/bigtable/docs/monitoring-instance)\n\nWhen to upgrade\n---------------\n\nWe recommend that you update all applications integrated with\n[OpenCensus Stats](https://www.google.com/url?sa=D&q=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fjava-bigtable%2Ftree%2Fv2.15.0%23enabling-cloud-bigtable-metrics-opencensus-stats)\nto use Bigtable client-side metrics instead.\nBigtable client-side metrics improve on the OpenCensus integration\nand, unlike with OpenCensus Stats, you incur no additional cost for publishing\nthe metrics.\n\nWhen to use client-side metrics\n-------------------------------\n\nWe recommend that you always use client-side metrics in conjunction with\nserver-side metrics to get a complete, actionable view of your\nBigtable performance. Viewing metrics from both the client and\nserver sides is especially useful when you are optimizing performance or\ntroubleshooting issues, and you need to determine in which segment of the\nrequest lifecycle a problem is occurring.\n\nUsing both types of metrics is especially valuable for the following types of\nworkloads:\n\n- Serving path reads in user-facing and commercial applications\n- Critical backend services\n- Large-scale data pipelines with multiple consumers\n\nClient-side metrics give you insight into which portion of the request lifecycle\nmight be causing latency:\n\nExpected behaviors\n------------------\n\nThe following behaviors are normal and expected:\n\n- **One-minute startup time**: After you enable client-side metrics, let\n your application run for at least a minute before you check for any\n published metrics.\n\n- **Minor differences between server latencies and client attempt latencies** :\n After enabling client-side metrics, you might notice a single-digit\n difference between the `bigtable.googleapis.com/server/latencies` and\n `bigtable.googleapis.com/client/attempt_latencies` metrics that you were\n previously not aware of. For example, if your application uses a\n Compute Engine VM and Bigtable in the same region, the\n difference between client attempt latencies and server latencies shows the network\n latencies. For 350 queries per second (QPS) and payload size 5 KB, the network latency is around 4 ms.\n This latency is expected.\n\nCosts\n-----\n\nThere is no charge to view client-side metrics in Cloud Monitoring. If you\nuse the Cloud Monitoring API, usage fees might apply. See\n[Google Cloud Observability pricing](/stackdriver/pricing)\nfor details.\n\nLimitations\n-----------\n\nClient-side metrics are not supported for applications that integrate\nDataflow or Apache Beam client libraries with the Bigtable\nHBase client for Java.\n\nWhat's next\n-----------\n\n- [Install and configure client-side metrics.](/bigtable/docs/client-side-metrics-setup)\n- [View the complete list of client-side metrics.](/bigtable/docs/client-side-metrics-descriptions)"]]