AWS AppSync

Overview

AWS AppSync simplifies application development by letting you create a flexible API to securely access, manipulate, and combine data from one or more data sources.

Enable this integration to see all your AppSync metrics in Datadog.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first.

Metric collection

  1. In the AWS integration page, ensure that AppSync is enabled under the Metric Collection tab.
  2. Install the Datadog - AWS AppSync integration.

Log collection

Enable logging

Configure AWS AppSync to send logs either to a S3 bucket or to CloudWatch.

Note: If you log to a S3 bucket, make sure that amazon_appsync is set as Target prefix.

Send logs to Datadog

  1. If you haven’t already, set up the Datadog Forwarder Lambda function.

  2. Once the Lambda function is installed, manually add a trigger on the S3 bucket or CloudWatch log group that contains your AWS AppSync logs in the AWS console:

Data Collected

Metrics

aws.appsync.4xxerror
(count)
The number of errors captured as a result of invalid requests due to incorrect client configuration.
Shown as error
aws.appsync.5xxerror
(count)
Errors encountered during the execution of a GraphQL query.
Shown as error
aws.appsync.active_connections
(count)
The number of concurrent WebSocket connections from clients to AWS AppSync in 1 minute.
aws.appsync.active_subscriptions
(count)
The number of concurrent subscriptions from clients in 1 minute.
aws.appsync.broadcast_delayed_events
(count)
The number of delayed broadcast events.
Shown as event
aws.appsync.broadcast_dropped_events
(count)
The number of dropped broadcast events.
Shown as event
aws.appsync.broadcast_event_client_error
(count)
The number of events that failed to broadcast because of client-side errors.
Shown as event
aws.appsync.broadcast_event_server_error
(count)
The number of errors that originated from AWS AppSync while broadcasting events.
Shown as error
aws.appsync.broadcast_event_size
(count)
The size of events broadcast.
Shown as byte
aws.appsync.broadcast_event_success
(count)
The number of events that were successfully broadcast to subscribers.
Shown as event
aws.appsync.cache_hit
(count)
The total number of cache hits during a requests. This will only be emitted if a cache is used. Cache hits are recorded on a per-resolver basis.
Shown as hit
aws.appsync.cache_miss
(count)
The total number of cache misses during requests. This will only be emitted if a cache is used. Cache misses are recorded on a per-resolver basis.
Shown as miss
aws.appsync.connect_client_error
(count)
The number of WebSocket connections that were rejected by AWS AppSync because of client-side errors. This could imply that the service is throttled or the Authorization settings are misconfigured.
Shown as error
aws.appsync.connect_requests
(count)
The number of WebSocket connection requests made to AWS AppSync, including both successful and unsuccessful attempts.
Shown as request
aws.appsync.connect_server_error
(count)
The number of errors that originated from AWS AppSync while processing connections. This is known to happen when an unexpected server-side issue occurs.
Shown as error
aws.appsync.connect_success
(count)
The number of successful WebSocket connections to AWS AppSync. It is possible to have connections without subscriptions.
Shown as success
aws.appsync.connection_duration
(count)
The amount of time that the connection stays open.
Shown as millisecond
aws.appsync.disconnect_client_error
(count)
The number of client errors that originated from AWS AppSync while disconnecting WebSocket connections.
Shown as error
aws.appsync.disconnect_server_error
(count)
The number of server errors that originated from AWS AppSync while disconnecting WebSocket connections.
Shown as error
aws.appsync.disconnect_success
(count)
The number of successful WebSocket disconnections from AWS AppSync.
Shown as success
aws.appsync.dropped_events
(count)
The count of input events filtered by a OnPublish handler.
Shown as event
aws.appsync.failed_events
(count)
The count of input events that encountered error during processing.
Shown as event
aws.appsync.graphql_error
(count)
The number of GraphQL errors that occurred.
Shown as error
aws.appsync.inbound_messages
(count)
The number of inbound metered events.
Shown as message
aws.appsync.inbound_message_delayed
(count)
The number of delayed inbound messages. Inbound messages can be delayed when either the inbound message rate quota or outbound message rate quota is breached.
Shown as message
aws.appsync.inbound_message_dropped
(count)
The number of dropped inbound messages. Inbound messages can be dropped when either the inbound message rate quota or outbound message rate quota is breached.
Shown as message
aws.appsync.inbound_message_error
(count)
The number of inbound messages that failed processing due to invalid API requests, such as exceeding the 240 kB subscription payload size limit.
Shown as message
aws.appsync.inbound_message_failure
(count)
The number of inbound messages that failed processing due to errors from AWS AppSync.
Shown as message
aws.appsync.inbound_message_success
(count)
The number of inbound messages successfully processed. Each subscription type invoked by a mutation generates one inbound message.
Shown as message
aws.appsync.invalidation_request_dropped
(count)
The number of invalidation requests dropped when the invalidation request quota was exceeded.
Shown as request
aws.appsync.invalidation_request_error
(count)
The number of invalidation requests that failed processing due to invalid API requests.
Shown as request
aws.appsync.invalidation_request_failure
(count)
The number of invalidation requests that failed processing due to errors from AWS AppSync.
Shown as request
aws.appsync.invalidation_request_success
(count)
The number of invalidation requests successfully processed.
Shown as request
aws.appsync.invalidation_success
(count)
The number of subscriptions successfully invalidated (unsubscribed).
aws.appsync.latency
(gauge)
The average time between when AWS AppSync receives a request from a client and when it returns a response to the client. This doesn’t include the network latency encountered for a response to reach the end devices.
Shown as millisecond
aws.appsync.latency.maximum
(gauge)
The maximum time between when AWS AppSync receives a request from a client and when it returns a response to the client. This doesn’t include the network latency encountered for a response to reach the end devices.
Shown as millisecond
aws.appsync.latency.p90
(gauge)
The 90th percentile time between when AWS AppSync receives a request from a client and when it returns a response to the client. This doesn’t include the network latency encountered for a response to reach the end devices.
Shown as millisecond
aws.appsync.outbound_messages
(count)
The number of metered messages successfully published.
Shown as message
aws.appsync.publish_data_message_client_error
(count)
The number of subscription event messages that failed to publish because of client-side errors.
Shown as error
aws.appsync.publish_data_message_server_error
(count)
The number of errors that originated from AWS AppSync while publishing subscription event messages. This is known to happen when an unexpected server-side issue occurs.
Shown as error
aws.appsync.publish_data_message_size
(gauge)
The size of subscription event messages published.
Shown as byte
aws.appsync.publish_data_message_success
(count)
The number of subscription event messages that were successfully published.
Shown as success
aws.appsync.publish_handler_invocations
(count)
The number of OnPublish handler invocations.
aws.appsync.requests
(count)
The number of requests (queries + mutations) that all APIs in your account have processed.
Shown as request
aws.appsync.subscribe_client_error
(count)
The number of subscriptions that were rejected by AWS AppSync because of client-side errors. This can occur when a JSON payload is incorrect, the service is throttled, or the Authorization settings are misconfigured.
Shown as error
aws.appsync.subscribe_handler_invocations
(count)
The number of Subscribe handlers invoked.
aws.appsync.subscribe_server_error
(count)
The number of errors that originated from AWS AppSync while processing subscriptions. This is known to happen when an unexpected server-side issue occurs.
Shown as error
aws.appsync.subscribe_success
(count)
The number of subscriptions that were successfully registered to AWS AppSync through WebSocket. It is possible to have connections without subscriptions, but it isn’t possible to have subscriptions without connections.
Shown as success
aws.appsync.successful_events
(count)
The count of input events that were processed successfully and submitted for broadcast in the OnPublish handler.
Shown as event
aws.appsync.tokens_consumed
(count)
The number of tokens allocated to processed requests.
Shown as token
aws.appsync.unsubscribe_client_error
(count)
The number of unsubscriptions that were rejected by AWS AppSync because of client-side errors.
Shown as error
aws.appsync.unsubscribe_server_error
(count)
The number of errors that originated from AWS AppSync while processing unsubscriptions. This is known to happen when an unexpected server-side issue occurs.
Shown as error
aws.appsync.unsubscribe_success
(count)
The number of unsubscriptions that were successfully processed from AWS AppSync.
Shown as success

Events

The AWS AppSync integration does not include any events.

Service Checks

The AWS AppSync integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.