---
title: Google Cloud Service Mesh (Istio) monitoring integration
source: https://docs.newrelic.com/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-cloud-service-mesh-monitoring-integration
---

[New Relic integrations](https://docs.newrelic.com/docs/infrastructure/introduction-infra-monitoring) with the [Google Cloud Platform (GCP)](https://cloud.google.com/) include one that reports [Google Cloud Service Mesh](https://cloud.google.com/service-mesh/docs) (Istio) data to New Relic. This document explains how to activate the GCP Cloud Service Mesh integration and describes the data it reports.

## Features

Cloud Service Mesh is Google Cloud's managed service mesh, built on Istio. New Relic Cloud Service Mesh integration collects the Istio service telemetry emitted by your meshed workloads: inbound and outbound request counts, request and response sizes, and server and client-side latency distributions.

This integration is scoped to Cloud Run workloads enrolled in Cloud Service Mesh. Istio telemetry from GKE sidecar workloads (the `istio_canonical_service` monitored resource) isn't collected by this integration.

## Activate integration [#activate]

> #### ⚠️ IMPORTANT
>
> This integration is available only when you connect your GCP project with Workload Identity Federation. It isn't available for service account or user account connections.

To enable the integration, follow standard procedures to [connect your GCP service to New Relic](https://docs.newrelic.com/docs/connect-google-cloud-platform-services-infrastructure) with Workload Identity Federation.

## Polling frequency [#polling]

New Relic integrations query your GCP services according to a polling interval that varies by integration. The polling frequency for Google Cloud Service Mesh is 5 minutes. The resolution is 1 data point every minute.

## Workload Identity Federation [#wif]

### Find and use data [#find-data-wif]

All Cloud Service Mesh metrics available in GCP Cloud Monitoring are collected as dimensional metrics in the `Metric` event type.

This integration doesn't create entities in the New Relic entity explorer. Query its metrics directly on the `Metric` event type, for example:

```sql
FROM Metric SELECT count(*) WHERE metricName LIKE 'gcp.istio.io.%' FACET metricName
```

Metrics carry the resource labels of the underlying Cloud Run revision, so you can facet by service name, revision name, and location without an entity.

### Metric data [#metrics-wif]

**Cloud Service Mesh — 16 metrics**

| Metric name                                          | Unit         | Description                                                                         |
| ---------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------- |
| `gcp.istio.io.service.client.connection_close_count` | Count        | Cumulative number of connection close events handled by the client.                 |
| `gcp.istio.io.service.client.connection_open_count`  | Count        | Cumulative number of connection open events handled by the client.                  |
| `gcp.istio.io.service.client.received_bytes_count`   | Bytes        | Cumulative number of bytes received by the service as a client through connections. |
| `gcp.istio.io.service.client.request_bytes`          | Bytes        | Distribution of outgoing request sizes from the service in bytes.                   |
| `gcp.istio.io.service.client.request_count`          | Count        | Number of requests sent by the service.                                             |
| `gcp.istio.io.service.client.response_bytes`         | Bytes        | Distribution of response sizes received by the service in bytes.                    |
| `gcp.istio.io.service.client.roundtrip_latencies`    | Milliseconds | Distribution of outgoing request round trip latency from the service.               |
| `gcp.istio.io.service.client.sent_bytes_count`       | Bytes        | Cumulative number of bytes sent by the service as a client through connections.     |
| `gcp.istio.io.service.server.connection_close_count` | Count        | Cumulative number of connection close events handled by the server.                 |
| `gcp.istio.io.service.server.connection_open_count`  | Count        | Cumulative number of connection open events handled by the server.                  |
| `gcp.istio.io.service.server.received_bytes_count`   | Bytes        | Cumulative number of bytes received by the service as a server through connections. |
| `gcp.istio.io.service.server.request_bytes`          | Bytes        | Distribution of incoming request sizes received by the service in bytes.            |
| `gcp.istio.io.service.server.request_count`          | Count        | Number of requests received by the service.                                         |
| `gcp.istio.io.service.server.response_bytes`         | Bytes        | Distribution of response sizes sent by the service in bytes.                        |
| `gcp.istio.io.service.server.response_latencies`     | Milliseconds | Distribution of service response latency for incoming requests.                     |
| `gcp.istio.io.service.server.sent_bytes_count`       | Bytes        | Cumulative number of bytes sent by the service as a server through connections.     |

The distribution metrics above (`request_bytes`, `response_bytes`, `response_latencies`, `roundtrip_latencies`) are also available as `.p50`, `.p95`, and `.p99` percentile metrics. For example, `gcp.istio.io.service.server.response_latencies.p99`.

For more on Istio service telemetry, see [Google's Cloud Service Mesh observability documentation](https://cloud.google.com/service-mesh/docs/observability).
