You can configure your workloads on Google Kubernetes Engine (GKE) to send
application performance metrics to Cloud Monitoring. You can then
use these metrics to detect performance regressions in your application.
Google Kubernetes Engine provides visualizations for the following kinds of performance
measures for your workloads:
Requests: shows the per-second request rate, grouped by operation when
available.
Errors: shows error rates, grouped by operation and response code.
Latency: shows 50th and 95th percentile response latency by operation.
CPU and memory: shows the utilization of CPU and memory as a percentage of a
requested amount.
You can also view and explore logs for your workloads.
Before you can use application performance metrics, your application must have
a way to send the metrics to Cloud Monitoring. For information about
recommended approaches, see
Collect application performance metrics.
Collect application performance metrics
You can collect application performance metrics for Google Kubernetes Engine by using
the following supported integrations:
Cloud Service Mesh: If you use Cloud Service Mesh, then application
performance metrics are collected automatically.
GKE Ingress: When you configure
GKE Ingress for Application Load Balancers,
performance metrics are automatically collected for the HTTP/S load balancers
that route traffic to your GKE Service and Deployment resources
behind GKE Ingress.
NGINX Ingress: If you are using
NGINX Ingress, then
we recommend that you
collect the metrics
by using Google Cloud Managed Service for Prometheus.
Prometheus HTTP and gRPC metrics: If your application exposes Prometheus
HTTP or gRPC metrics, then we recommend that you follow the
HTTP server and
gRPC server
documents to collect the metrics by using Google Cloud Managed Service for Prometheus.
View application performance metrics
After the performance data is available for analysis, you can
view the metrics
for a Deployment on the application dashboard.
[[["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."],[],[],null,["# Use application performance metrics\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nYou can configure your workloads on Google Kubernetes Engine (GKE) to send\napplication performance metrics to Cloud Monitoring. You can then\nuse these metrics to detect performance regressions in your application.\nGoogle Kubernetes Engine provides visualizations for the following kinds of performance\nmeasures for your workloads:\n\n- Requests: shows the per-second request rate, grouped by operation when available.\n- Errors: shows error rates, grouped by operation and response code.\n- Latency: shows 50th and 95th percentile response latency by operation.\n- CPU and memory: shows the utilization of CPU and memory as a percentage of a requested amount.\n\nThese metrics correspond to the\n[*golden signals*](https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals)\nrecommended in the Google\n[*Site Reliability Engineering* book](https://sre.google/sre-book/monitoring-distributed-systems/)\nfor monitoring distributed systems.\n\nYou can also view and explore logs for your workloads.\n\nBefore you can use application performance metrics, your application must have\na way to send the metrics to Cloud Monitoring. For information about\nrecommended approaches, see\n[Collect application performance metrics](#app-perf-ingest).\n\nCollect application performance metrics\n---------------------------------------\n\nYou can collect application performance metrics for Google Kubernetes Engine by using\nthe following supported integrations:\n\n- **Cloud Service Mesh**: If you use Cloud Service Mesh, then application performance metrics are collected automatically.\n- **Istio** : If you use [open source Istio](https://istio.io), then we recommend that you [collect the metrics](/stackdriver/docs/managed-prometheus/exporters/istio) by using Google Cloud Managed Service for Prometheus.\n- **GKE Ingress** : When you configure [GKE Ingress for Application Load Balancers](/kubernetes-engine/docs/concepts/ingress), performance metrics are automatically collected for the HTTP/S load balancers that route traffic to your GKE Service and Deployment resources behind GKE Ingress.\n- **NGINX Ingress** : If you are using [NGINX Ingress](https://kubernetes.github.io/ingress-nginx/), then we recommend that you [collect the metrics](/stackdriver/docs/managed-prometheus/exporters/ingress-nginx) by using Google Cloud Managed Service for Prometheus.\n- **Prometheus HTTP and gRPC metrics** : If your application exposes Prometheus HTTP or gRPC metrics, then we recommend that you follow the [HTTP server](/stackdriver/docs/managed-prometheus/exporters/server/http) and [gRPC server](/stackdriver/docs/managed-prometheus/exporters/server/grpc) documents to collect the metrics by using Google Cloud Managed Service for Prometheus.\n\nView application performance metrics\n------------------------------------\n\nAfter the performance data is available for analysis, you can\n[view the metrics](/kubernetes-engine/docs/how-to/view-observability-metrics#app-perf-view)\nfor a Deployment on the application dashboard."]]