Google Pub/Sub

Overview

Google Cloud Pub/Sub brings the scalability, flexibility, and reliability of enterprise message-oriented middleware to the cloud.

Get metrics from Google Pub/Sub to:

  • Visualize the performance of your Pub/Sub topics and subscriptions.
  • Correlate the performance of your Pub/Sub topics and subscriptions with your applications.

Setup

Metric collection

Installation

If you haven’t already, set up the Google Cloud Platform integration first. There are no other installation steps.

Configuration

To collect custom Pub/Sub labels as tags, enable the cloud asset inventory permission.

Log collection

Google Cloud Pub/Sub 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 Pub/Sub logs from Google Cloud Logging to the Pub/Sub topic:

  1. Go to the Google Cloud Logging page and filter the Google Cloud Pub/Sub 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.

Data Collected

Metrics

gcp.pubsub.snapshot.backlog_bytes
(gauge)
Total byte size of the messages retained in a snapshot.
Shown as byte
gcp.pubsub.snapshot.backlog_bytes_by_region
(gauge)
Total byte size of the messages retained in a snapshot, broken down by Cloud region.
Shown as byte
gcp.pubsub.snapshot.config_updates_count
(count)
Cumulative count of configuration changes, grouped by operation type and result.
Shown as update
gcp.pubsub.snapshot.num_messages
(gauge)
Number of messages retained in a snapshot.
Shown as message
gcp.pubsub.snapshot.num_messages_by_region
(gauge)
Number of messages retained in a snapshot, broken down by Cloud region.
Shown as message
gcp.pubsub.snapshot.oldest_message_age
(gauge)
Age (in seconds) of the oldest message retained in a snapshot.
Shown as second
gcp.pubsub.snapshot.oldest_message_age_by_region
(gauge)
Age (in seconds) of the oldest message retained in a snapshot, broken down by Cloud region.
Shown as second
gcp.pubsub.subscription.ack_latencies.avg
(gauge)
Average of ack latencies.
Shown as millisecond
gcp.pubsub.subscription.ack_latencies.samplecount
(count)
Sample Count for ack latencies.
Shown as millisecond
gcp.pubsub.subscription.ack_latencies.sumsqdev
(gauge)
Sum of Squared Deviation for ack latencies.
Shown as millisecond
gcp.pubsub.subscription.ack_message_count
(count)
Cumulative count of messages acknowledged by Acknowledge requests, grouped by delivery type.
Shown as byte
gcp.pubsub.subscription.backlog_bytes
(gauge)
Total byte size of the unacknowledged messages (also known as backlog messages) in a subscription.
Shown as byte
gcp.pubsub.subscription.billable_bytes_by_region
(gauge)
Total byte size of the billable messages in a subscription, broken down by Cloud region and type. See the Pub/Sub pricing page for more information about pricing for retaining unacknowledged messages in subscriptions for more than 24 hours.
Shown as byte
gcp.pubsub.subscription.byte_cost
(count)
Cost of operations per subscription measured.
Shown as byte
gcp.pubsub.subscription.config_updates_count
(count)
Number of configuration changes for subscriptions.
Shown as occurrence
gcp.pubsub.subscription.dead_letter_message_count
(count)
Cumulative count of messages published to dead letter topic.
Shown as message
gcp.pubsub.subscription.delivery_latency_health_score
(gauge)
A score that measures the health of a subscription.
Shown as occurrence
gcp.pubsub.subscription.exactly_once_warning_count
(count)
Count of instances (acks and modacks that may have failed) that may lead to message redeliveries.
Shown as occurrence
gcp.pubsub.subscription.expired_ack_deadlines_count
(count)
Cumulative count of messages whose ack deadline expired while the messages was outstanding to a subscriber client.
Shown as message
gcp.pubsub.subscription.export_push_subscription_details
(gauge)
Type and state of the export push subscription.
gcp.pubsub.subscription.mod_ack_deadline_message_count
(count)
Cumulative count of messages whose deadline was updated by ModifyAckDeadline requests.
Shown as message
gcp.pubsub.subscription.mod_ack_deadline_request_count
(count)
Number of ModifyAckDeadline requests.
Shown as request
gcp.pubsub.subscription.mod_ack_latencies.avg
(count)
The average distribution of ModAck latencies. For each message delivery attempt, the ModAck latency is the duration between when the CPS service delivers the message to a subscriber client and when the CPS service receives a ModAck request for that message.
Shown as millisecond
gcp.pubsub.subscription.mod_ack_latencies.samplecount
(count)
The sample count for distribution of ModAck latencies. For each message delivery attempt, the ModAck latency is the duration between when the CPS service delivers the message to a subscriber client and when the CPS service receives a ModAck request for that message.
Shown as millisecond
gcp.pubsub.subscription.mod_ack_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of ModAck latencies. For each message delivery attempt, the ModAck latency is the duration between when the CPS service delivers the message to a subscriber client and when the CPS service receives a ModAck request for that message.
Shown as millisecond
gcp.pubsub.subscription.nack_requests
(gauge)
Cumulative count of messages that were nacked. One message nacked multiple times will be counted multiple times.
gcp.pubsub.subscription.num_outstanding_messages
(gauge)
Messages delivered but not yet acknowledged.
Shown as message
gcp.pubsub.subscription.num_retained_acked_messages
(gauge)
Number of acknowledged messages retained in a subscription.
Shown as message
gcp.pubsub.subscription.num_retained_acked_messages_by_region
(gauge)
Number of acknowledged messages retained in a subscription, broken down by Cloud region.
Shown as message
gcp.pubsub.subscription.num_unacked_messages_by_region
(gauge)
Number of unacknowledged messages in a subscription, broken down by Cloud region.
Shown as message
gcp.pubsub.subscription.num_undelivered_messages
(gauge)
Number of unacknowledged messages (also known as backlog messages) in a subscription.
gcp.pubsub.subscription.oldest_retained_acked_message_age
(gauge)
Age (in seconds) of the oldest acknowledged message retained in a subscription.
Shown as second
gcp.pubsub.subscription.oldest_retained_acked_message_age_by_region
(gauge)
Age (in seconds) of the oldest acknowledged message retained in a subscription, broken down by Cloud region.
Shown as second
gcp.pubsub.subscription.oldest_unacked_message_age
(gauge)
Age (in seconds) of the oldest unacknowledged message (also known as a backlog message) in a subscription.
Shown as second
gcp.pubsub.subscription.oldest_unacked_message_age_by_region
(gauge)
Age (in seconds) of the oldest unacknowledged message in a subscription, broken down by Cloud region.
Shown as second
gcp.pubsub.subscription.open_streaming_pulls
(gauge)
Number of open StreamingPull streams per subscription, grouped by status.
gcp.pubsub.subscription.pull_ack_request_count
(count)
Delta count of message pull acknowledgement requests.
Shown as request
gcp.pubsub.subscription.pull_request_count
(count)
Number of message pull requests.
Shown as request
gcp.pubsub.subscription.push_request_count
(count)
Number of message push attempts.
Shown as request
gcp.pubsub.subscription.push_request_latencies.avg
(gauge)
Average of push request latencies.
Shown as microsecond
gcp.pubsub.subscription.push_request_latencies.samplecount
(count)
Sample Count for push request latencies.
Shown as microsecond
gcp.pubsub.subscription.push_request_latencies.sumsqdev
(gauge)
Sum of Squared Deviation for push request latencies.
Shown as microsecond
gcp.pubsub.subscription.retained_acked_bytes
(gauge)
Total byte size of the acknowledged messages retained in a subscription.
Shown as byte
gcp.pubsub.subscription.retained_acked_bytes_by_region
(gauge)
Total byte size of the acknowledged messages retained in a subscription, broken down by Cloud region.
Shown as byte
gcp.pubsub.subscription.seek_request_count
(count)
Cumulative count of seek attempts, grouped by result.
Shown as request
gcp.pubsub.subscription.sent_message_count
(count)
Cumulative count of messages sent by Cloud Pub/Sub to subscriber clients.
Shown as message
gcp.pubsub.subscription.streaming_pull_ack_request_count
(count)
Cumulative count of streaming pull requests with non-empty acknowledge IDs, grouped by result.
Shown as request
gcp.pubsub.subscription.streaming_pull_mod_ack_deadline_request_count
(count)
Cumulative count of streaming pull requests with non-empty ModifyAckDeadline fields, grouped by result.
Shown as request
gcp.pubsub.subscription.streaming_pull_response_count
(count)
Cumulative count of streaming pull responses, grouped by result.
Shown as response
gcp.pubsub.subscription.unacked_bytes_by_region
(gauge)
Total byte size of the unacknowledged messages in a subscription, broken down by Cloud region.
Shown as byte
gcp.pubsub.topic.byte_cost
(count)
Byte cost of operations per topic.
Shown as byte
gcp.pubsub.topic.config_updates_count
(count)
Number of configuration changes for topics.
Shown as occurrence
gcp.pubsub.topic.ingestion_byte_count
(count)
Byte count of ingested messages per ingestion source type and import partition (for example, AWS Kinesis shard ID).
Shown as byte
gcp.pubsub.topic.ingestion_data_source_state
(gauge)
State of the ingestion data source per ingestion source type.
gcp.pubsub.topic.ingestion_failure_count
(count)
Number of errors encountered when ingesting data per ingestion source type, source name, import partition, and reason for error.
gcp.pubsub.topic.ingestion_message_count
(count)
Number of ingested messages per ingestion source type and import partition (for example, AWS Kinesis shard ID).
gcp.pubsub.topic.message_sizes.avg
(gauge)
Average of publish message sizes.
Shown as byte
gcp.pubsub.topic.message_sizes.samplecount
(count)
Sample Count for publish message sizes.
Shown as byte
gcp.pubsub.topic.message_sizes.sumsqdev
(gauge)
Sum of Squared Deviation for publish message sizes.
Shown as byte
gcp.pubsub.topic.num_retained_acked_messages_by_region
(gauge)
Number of acknowledged messages retained in a topic, broken down by Cloud region.
Shown as message
gcp.pubsub.topic.num_retained_messages
(gauge)
Number of messages retained in a topic.
Shown as message
gcp.pubsub.topic.num_unacked_messages_by_region
(gauge)
Number of unacknowledged messages in a topic, broken down by Cloud region.
Shown as message
gcp.pubsub.topic.oldest_retained_acked_message_age_by_region
(gauge)
Age (in seconds) of the oldest acknowledged message retained in a topic, broken down by Cloud region.
Shown as second
gcp.pubsub.topic.oldest_retained_message_age
(gauge)
Age (in seconds) of the oldest message retained in a topic.
Shown as second
gcp.pubsub.topic.oldest_unacked_message_age_by_region
(gauge)
Age (in seconds) of the oldest unacknowledged message in a topic, broken down by Cloud region.
Shown as second
gcp.pubsub.topic.retained_acked_bytes_by_region
(gauge)
Total byte size of the acknowledged messages retained in a topic, broken down by Cloud region.
Shown as byte
gcp.pubsub.topic.retained_bytes
(gauge)
Total byte size of the messages retained in a topic.
Shown as byte
gcp.pubsub.topic.schema_validation_latencies.avg
(count)
The average distribution of schema validation latencies in milliseconds.
Shown as millisecond
gcp.pubsub.topic.schema_validation_latencies.samplecount
(count)
The sample count for distribution of schema validation latencies in milliseconds.
Shown as millisecond
gcp.pubsub.topic.schema_validation_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of schema validation latencies in milliseconds.
Shown as millisecond
gcp.pubsub.topic.send_request_count
(count)
Number of message send requests.
Shown as request
gcp.pubsub.topic.send_request_latencies.avg
(gauge)
Average of topic send request latencies.
Shown as microsecond
gcp.pubsub.topic.send_request_latencies.samplecount
(count)
Sample Count for topic send request latencies.
Shown as microsecond
gcp.pubsub.topic.send_request_latencies.sumsqdev
(gauge)
Sum of Squared Deviation for topic send request latencies.
Shown as microsecond
gcp.pubsub.topic.unacked_bytes_by_region
(gauge)
Total byte size of the unacknowledged messages in a topic, broken down by Cloud region.
Shown as byte

Events

The Google Cloud Pub/Sub integration does not include any events.

Service Checks

The Google Cloud Pub/Sub integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.