Google Cloud Run

Overview

Cloud Run is a managed compute platform that enables you to run stateless containers that are invocable using HTTP requests.

Enable this integration and instrument your container to see all of your Cloud Run metrics, traces, and logs in Datadog.

For more information about Cloud Run for Anthos, see the Google Cloud Run for Anthos documentation.

Setup

Metric collection

Installation

Set up the Google Cloud Platform integration to begin collecting out-of-the-box metrics. To set up custom metrics, see the Serverless documentation.

Log collection

Integration

Google Cloud Run also exposes audit logs. Google Cloud Run logs are collected with Google Cloud Logging and sent to a Dataflow job through a Cloud Pub/Sub topic. If you haven’t already, set up logging with the Datadog Dataflow template.

Once this is done, export your Google Cloud Run logs from Google Cloud Logging to the Pub/Sub topic:

  1. Go to the Google Cloud Logging page and filter Google Cloud Run logs.

  2. Click Create Sink and name the sink accordingly.

  3. Choose “Cloud Pub/Sub” as the destination and select the Pub/Sub topic that was created for that purpose. Note: The Pub/Sub topic can be located in a different project.

    Export Google Cloud Pub/Sub Logs to Pub Sub
  4. Click Create and wait for the confirmation message to show up.

Direct Logging

For more information about direct application logging to Datadog from your Cloud Run services, see the Serverless documentation.

Tracing

For more information about specialized Agent setup instructions for fully managed Google Cloud Run, see the Serverless documentation.

Data Collected

Metrics

gcp.run.container.billable_instance_time
(rate)
Billable time aggregated from all container instances of the revision (ms/s).
Shown as millisecond
gcp.run.container.cpu.allocation_time
(rate)
Container CPU allocation of the revision in seconds.
Shown as core
gcp.run.container.cpu.utilizations.avg
(gauge)
The average distribution of container CPU utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.cpu.utilizations.p95
(gauge)
The 95th percentile distribution of container CPU utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.cpu.utilizations.p99
(gauge)
The 99th percentile distribution of container CPU utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.cpu.utilizations.samplecount
(count)
Sample count of the distribution of service request times in milliseconds.
Shown as fraction
gcp.run.container.instance_count
(gauge)
The number of container instances that exist, broken down by state.
Shown as container
gcp.run.container.max_request_concurrencies.avg
(gauge)
Average of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.p95
(gauge)
95th percentile distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.p99
(gauge)
99th percentile distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.samplecount
(count)
Sample count of the distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.memory.allocation_time
(rate)
Container memory allocation of the revision in Gigabytes-seconds.
Shown as gibibyte
gcp.run.container.memory.utilizations.avg
(gauge)
Average of the container memory utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.memory.utilizations.p95
(gauge)
95th percentile distribution of the container memory utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.memory.utilizations.p99
(gauge)
99th percentile distribution of the container memory utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.memory.utilizations.samplecount
(count)
Sample count of the container memory utilization distribution across all container instances of the revision.
Shown as fraction
gcp.run.container.network.received_bytes_count
(count)
The incoming socket and HTTP response traffic of revision, in bytes.
Shown as byte
gcp.run.container.network.sent_bytes_count
(count)
The outgoing socket and HTTP response traffic of revision, in bytes.
Shown as byte
gcp.run.request_count
(count)
The number of service requests.
Shown as request
gcp.run.request_latencies.avg
(gauge)
Average distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.p95
(gauge)
The 95th percentile distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.p99
(gauge)
The 99th percentile distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.samplecount
(count)
Sample count of the distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.sumsqdev
(gauge)
Sum of squared deviation of the distribution of service request times in milliseconds.
Shown as millisecond

Events

The Google Cloud Functions integration does not include any events.

Service Checks

The Google Cloud Functions integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.

Further Reading