Google App Engine

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Overview

Install the Google App Engine integration in your project to:

  • See your Google App Engine services metrics: memcache, task queues, datastores.
  • See metrics about requests: display percentiles, latency, cost.
  • Tag Google App Engine metrics by version and compare the performance of different versions.

You can also send custom metrics to Datadog through the API or DogStatsD.

Setup

Installation

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

Log collection

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

  1. Go to the Google Cloud Logging page and filter the Google App Engine logs.
  2. Click Create Export and name the sink.
  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.
  4. Click Create and wait for the confirmation message to show up.

Data Collected

Metrics

gcp.gae.flex.autoscaler.capacity
(gauge)
Utilization capacity multiplied by the number of serving VMs.
gcp.gae.flex.autoscaler.connections.current
(gauge)
The number of current reading and writing connections per App Engine flexible environment instance. Intended to be used for autoscaling.
Shown as connection
gcp.gae.flex.autoscaler.current_utilization
(gauge)
The sum of the utilization of a specified metric for all serving VMs.
gcp.gae.flex.autoscaler.server.request_count
(count)
Request counts for an App Engine flexible environment instance. Intended to be used for autoscaling.
gcp.gae.flex.connections.current
(gauge)
The number of current active connections per App Engine flexible environment version.
Shown as connection
gcp.gae.flex.cpu.reserved_cores
(gauge)
The total number of CPU cores allocated to an App Engine flexible environment version.
Shown as core
gcp.gae.flex.cpu.utilization
(gauge)
Fractional utilization of allocated CPU across an AppEngine flexible environment version. Values are typically numbers between 0.0 and 1.0 (but some machine types allow bursting above 1.0).
Shown as percent
gcp.gae.flex.disk.read_bytes_count
(count)
The count of bytes read from disk across an App Engine flexible environment version.
Shown as byte
gcp.gae.flex.disk.write_bytes_count
(count)
The count of bytes written from disk across an App Engine flexible environment version.
Shown as byte
gcp.gae.flex.instance.connections.current
(count)
The number of current active connections per App Engine flexible environment instance.
Shown as connection
gcp.gae.flex.instance.container.cpu.limit
(gauge)
CPU time limit (where applicable).
Shown as CPU time limit
gcp.gae.flex.instance.container.cpu.usage_time
(gauge)
Per container CPU usage in CPU seconds.
Shown as second
gcp.gae.flex.instance.container.memory.limit
(gauge)
Total memory the container is allowed to use.
Shown as byte
gcp.gae.flex.instance.container.memory.usage
(gauge)
Total memory the container is using.
Shown as byte
gcp.gae.flex.instance.container.network.received_bytes_count
(count)
Bytes received by container over all network interfaces.
Shown as byte
gcp.gae.flex.instance.container.network.sent_bytes_count
(count)
Bytes sent by container over all network interfaces.
Shown as byte
gcp.gae.flex.instance.container.restart_count
(count)
Number of times the container has been restarted.
gcp.gae.flex.instance.container.uptime
(gauge)
Time for which the container has been up.
Shown as second
gcp.gae.flex.instance.cpu.usage_time
(count)
Delta vCPU usage for all vCPUs, in vCPU-seconds. This value is reported by the hypervisor for the VM and can differ from agent.googleapis.com/cpu/usage_time, which is reported from inside the VM.
Shown as second
gcp.gae.flex.instance.cpu.utilization
(gauge)
Fractional CPU utilization for all cores on a single AppEngine flexible instance. Values are typically numbers between 0.0 and 1.0 for a single core (but might exceed 1.0 in total).
gcp.gae.flex.instance.disk.io.read_bytes_count
(count)
The count of bytes read from disk.
Shown as byte
gcp.gae.flex.instance.disk.io.write_bytes_count
(count)
The count of bytes written to disk.
Shown as byte
gcp.gae.flex.instance.guest.disk.bytes_used
(gauge)
The number of bytes used on disk for file systems.
Shown as byte
gcp.gae.flex.instance.guest.memory.bytes_used
(gauge)
The memory usage by each memory state, in bytes. Summing values of all states yields the total memory on the machine.
Shown as byte
gcp.gae.flex.instance.healthcheck.liveness.request_count
(count)
The number of liveness health-check requests for a Flex instance with status and error code.
Shown as request
gcp.gae.flex.instance.healthcheck.readiness.request_count
(count)
The number of readiness health-check requests for a Flex instance with status and error code.
Shown as request
gcp.gae.flex.instance.jvm.gc.count
(count)
The total number of garbage collections that have occurred.
Shown as garbage collection
gcp.gae.flex.instance.jvm.gc.time
(count)
The accumulated garbage collection elapsed time in milliseconds.
Shown as millisecond
gcp.gae.flex.instance.jvm.memory.usage
(gauge)
The memory usage.
gcp.gae.flex.instance.jvm.os.cpu_time
(count)
The CPU time used by the process on which the Java virtual machine is running.
Shown as nanosecond
gcp.gae.flex.instance.jvm.thread.num_live
(gauge)
The current number of live threads.
Shown as thread
gcp.gae.flex.instance.jvm.thread.peak
(gauge)
The peak number of live threads.
Shown as thread
gcp.gae.flex.instance.jvm.uptime
(count)
The uptime of the Java virtual machine.
Shown as millisecond
gcp.gae.flex.instance.log_entry_count
(count)
The count of log entries written by the Logging agent.
Shown as entry
gcp.gae.flex.instance.log_entry_retry_count
(count)
The count of log-entry writes that were retried by the Logging agent.
Shown as write
gcp.gae.flex.instance.network.received_bytes_count
(count)
The count of incoming network bytes in an App Engine flexible instance.
Shown as byte
gcp.gae.flex.instance.network.sent_bytes_count
(count)
The count of outgoing network bytes in an App Engine flexible instance.
Shown as byte
gcp.gae.flex.instance.nginx.connections.accepted_count
(count)
The total connections accepted.
Shown as connection
gcp.gae.flex.instance.nginx.connections.current
(gauge)
The number of connections currently attached to Nginx.
Shown as connection
gcp.gae.flex.instance.nginx.connections.handled_count
(count)
The total connections handled.
gcp.gae.flex.instance.uptime
(gauge)
How long the VM has been running, in seconds.
Shown as second
gcp.gae.flex.instance.web_socket.closed_connections_count
(count)
Count of websocket connections closed.
gcp.gae.flex.instance.web_socket.durations.avg
(count)
The average the durations of websocket connections measured at nginx.
Shown as second
gcp.gae.flex.instance.web_socket.durations.samplecount
(count)
The sample count for the durations of websocket connections measured at nginx.
Shown as second
gcp.gae.flex.instance.web_socket.durations.sumsqdev
(count)
The sum of squared deviation for the durations of websocket connections measured at nginx.
Shown as second
gcp.gae.flex.instance.ws.avg_duration
(gauge)
The average of websocket requests for a given App Engine Flexible instance.
Shown as second
gcp.gae.flex.network.received_bytes_count
(count)
The count of incoming network bytes across all VMs in an App Engine flexible environment version.
Shown as byte
gcp.gae.flex.network.sent_bytes_count
(count)
The count of outgoing network bytes across all VMs in an App Engine flexible environment version.
Shown as byte
gcp.gae.http.server.dos_intercept_count
(count)
The count of interceptions performed to prevent DoS attacks.
Shown as occurrence
gcp.gae.http.server.quota_denial_count
(count)
The count of failed requests due to the app being over quota.
Shown as request
gcp.gae.http.server.response_count
(count)
The HTTP response count.
Shown as response
gcp.gae.http.server.response_latencies.avg
(gauge)
The average HTTP response latency.
Shown as millisecond
gcp.gae.http.server.response_latencies.p95
(gauge)
The 95th percentile of HTTP response latency.
Shown as millisecond
gcp.gae.http.server.response_latencies.p99
(gauge)
The 99th percentile of HTTP response latency.
Shown as millisecond
gcp.gae.http.server.response_latencies.samplecount
(count)
The sample count for HTTP response latency.
Shown as millisecond
gcp.gae.http.server.response_latencies.sumsqdev
(gauge)
The sum of squared deviation for HTTP response latency.
Shown as millisecond
gcp.gae.http.server.response_style_count
(count)
The count of HTTP responses by serve style.
Shown as response
gcp.gae.infrastructure.cloudsql.connection_latencies.avg
(count)
The average distribution of latency in microseconds for connections originating from App Engine to Cloud SQL.
Shown as microsecond
gcp.gae.infrastructure.cloudsql.connection_latencies.samplecount
(count)
The sample count for distribution of latency in microseconds for connections originating from App Engine to Cloud SQL.
Shown as microsecond
gcp.gae.infrastructure.cloudsql.connection_latencies.sumsqdev
(count)
The sum of squared deviation for distribution of latency in microseconds for connections originating from App Engine to Cloud SQL.
Shown as microsecond
gcp.gae.infrastructure.cloudsql.connection_refused_count
(count)
Total number of connections refused originating from App Engine to Cloud SQL.
gcp.gae.infrastructure.cloudsql.connection_request_count
(count)
Total number of connection requests originating from App Engine to Cloud SQL.
gcp.gae.infrastructure.cloudsql.received_bytes_count
(count)
Number of bytes received by App Engine from Cloud SQL over the network.
Shown as byte
gcp.gae.infrastructure.cloudsql.sent_bytes_count
(count)
Number of bytes sent by App Engine to Cloud SQL over the network.
Shown as byte
gcp.gae.memcache.access_ages.avg
(count)
The average ages of cached items when they are accessed.
Shown as second
gcp.gae.memcache.access_ages.samplecount
(count)
The sample count for ages of cached items when they are accessed.
Shown as second
gcp.gae.memcache.access_ages.sumsqdev
(count)
The sum of squared deviation for ages of cached items when they are accessed.
Shown as second
gcp.gae.memcache.backend_request_count
(count)
Count of cache requests as recorded by the backends.
Shown as requests
gcp.gae.memcache.cache_size_limit
(gauge)
Expected maximum possible cache size based on app's configuration.
Shown as byte
gcp.gae.memcache.centi_mcu_count
(count)
Memcache utilization as 1/100th Memcache Compute Units.
Shown as unit
gcp.gae.memcache.centi_mcu_limit
(gauge)
Expected maximum memcache size in one hundredth of Memcache Compute Units.
Shown as memcache
gcp.gae.memcache.eviction_count
(count)
Rate of items evicted from the cache due to space constraints.
Shown as item
gcp.gae.memcache.hit_bytes_count
(count)
Count of bytes served from cache hits.
Shown as byte
gcp.gae.memcache.hit_count
(count)
Rate of cache hits.
Shown as request
gcp.gae.memcache.hit_ratio
(gauge)
The percentage of successful hits compared to all memcache operations.
Shown as hit
gcp.gae.memcache.hot_keys.avg
(count)
The average distribution of hot key qps.
Shown as request
gcp.gae.memcache.hot_keys.samplecount
(count)
The sample count for distribution of hot key qps.
Shown as request
gcp.gae.memcache.hot_keys.sumsqdev
(count)
The sum of squared deviation for distribution of hot key qps.
Shown as request
gcp.gae.memcache.miss_count
(count)
Rate of cache misses.
Shown as request
gcp.gae.memcache.operation_count
(count)
The count of memcache key operations, grouped by command and status.
Shown as operation
gcp.gae.memcache.received_bytes_count
(count)
The number of bytes received by app from the memcache API, grouped by status and memcache command.
Shown as byte
gcp.gae.memcache.sent_bytes_count
(count)
The number of bytes sent by app through the memcache API, grouped by memcache command.
Shown as byte
gcp.gae.memcache.set_bytes_count
(count)
Count of bytes received from sets.
Shown as byte
gcp.gae.memcache.used_cache_size
(gauge)
The size of the cache, calculated as the total size of all items stored.
gcp.gae.system.billed_instance_estimate_count
(gauge)
An estimate of the number of instances that the customer is charged for.
Shown as instance
gcp.gae.system.cpu.usage
(gauge)
CPU usage in megacycles over all instances.
gcp.gae.system.cpu.utilization
(gauge)
CPU utilization average over all active instances.
gcp.gae.system.instance_count
(gauge)
The number of instances that exist.
Shown as instance
gcp.gae.system.memory.usage
(gauge)
The total memory used by running instances.
Shown as byte
gcp.gae.system.network.received_bytes_count
(count)
The count of incoming network bandwidth.
Shown as byte
gcp.gae.system.network.sent_bytes_count
(count)
The count of outgoing network bandwidth.
Shown as byte
gcp.gae.system.pending_queue.pending_requests
(gauge)
Number of pending requests.

Events

The Google App Engine integration does not include any events.

Service Checks

The Google App Engine integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.