Understand Smart Home Service Degradation Emails

Note

The content on this page is applicable only to smart home skill builders who received an email about smart home service degradation.

Frequently Asked Questions


How is responsiveness measured?
Responsiveness is measured in terms of the latency of your smart home skill's response to Alexa's request. Latency is the time interval between a request from Alexa to your smart home skill and the response from your skill. It is measured using percentile statistics like P99, P90, and P50.

We consider it a degradation of service when your P90 latency (90th percentile) is 5 seconds or higher measured over a period of 15 minutes. This means that 10% of requests to your skill in a 15 minute period take 5 seconds or longer to receive a response. This threshold is subject to change.
How is availability measured?
Availability is measured in terms of the average success rate of your smart home skill's response to Alexa's request.

We consider it a degradation of service when the average success rate of all requests to your smart home skill drops below 85% measured over a period of 15 minutes. This threshold is subject to change.
What are device discovery requests?
Device discovery requests are requests sent from Alexa to your smart home skill to discover customers' smart devices.
What are device control requests?
Device control requests are requests sent from Alexa to your smart home skill when a customer uses Alexa to control their smart device. For example, when a customer says, "Alexa, turn on the kitchen light" to their Alexa device or turns on the light in the Alexa app, Alexa sends a device control request to your smart home skill.
How is success rate defined?
The success rate is the total number of successful requests divided by the total number of all requests sent by Alexa to your skill. This includes all device discovery requests and device control requests.
When is a request considered a failure?
A request is considered a failure in the following scenarios:
  • The request times out (there is no response from the Lambda within 7 seconds).
  • The response is malformed (not in the correct format). For example, it's missing headers in the response payload.
  • The response has certain error type values which indicate an issue with your smart home skill. User errors are excluded.
What are error type values?
Error type values indicate the specific error that occurred in your skill. The following list contains a few examples of error type values that result in a request being considered a failure. For a comprehensive list of error type values, see the ErrorResponse documentation.

FIRMWARE_OUT_OF_DATE
Indicates that a directive could not be handled because the firmware for a bridge or an endpoint is out of date.
HARDWARE_MALFUNCTION
Indicates that a directive could not be handled because a bridge or an endpoint has experienced a hardware malfunction.
INTERNAL_ERROR
Indicates that while handling a directive, an error occurred that cannot be accurately described by one of the other error types. For example, a generic runtime exception occurred while handling a directive. Ideally you will never send this error type, but instead send a more specific error type.

Troubleshooting Tips

The following are common categories of issues that might affect the performance and availability of your skill, and some suggestions for troubleshooting each one.

Planned maintenance
Check whether there is a planned maintenance going on that impacts your smart home skill.
Deployment
Check for firmware or smart home skill updates. Check whether the firmware for your device was updated or whether you deployed code changes for your skill.
Authentication
Check for OAuth-related issues. For example, an OAuth 2.0 access token might not be valid for the customer's device cloud account or the access token has expired and a refresh token was not provided. The token can become invalid for several reasons. For more information, see Validate and Use Access Tokens in Smart Home and Video Skill Code.
Network
Check for issues with your internet service provider.
Infrastructure
Check for issues with your cloud, hardware, or database.