eG Monitoring
 

Measures reported by AWSAmazonPollyTest

Amazon Polly is a cloud service that converts text into lifelike speech. You just need to call the SynthesizeSpeech method, provide the text you wish to synthesize, select one of the available Text-to-Speech (TTS) voices, and specify an audio output format. Amazon Polly then synthesizes the provided text into a high-quality speech audio stream.

To manage voices and pronunciations and to convert the text that users type into speech, Amazon Polly internally calls the following API methods:

  • PutLexicon - Stores a pronunciation lexicon in an AWS Region; Pronunciation lexicons enable you to customize the pronunciation of words.

  • ListLexicons - Returns a list of pronunciation lexicons stored in an AWS Region;

  • GetLexicon - Returns the content of the specified pronunciation lexicon stored in an AWS Region;

  • DeleteLexicon - Deletes the specified pronunciation lexicon stored in an AWS Region;

  • DescribeVoices - Returns the list of voices that are available for use when requesting speech synthesis;

  • SynthesizeSpeech - Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes.

A delay or error in any of the aforesaid API operations can adversely impact a user's experience with Amazon Polly. This is why, whenever a cloud user complains of issues in text-to-speech conversion, administrators should be able to quickly identify the precise API operation causing the issue and troubleshoot accordingly. This is exactly where the AWSAmazonPollyTest test helps!

For each API operation (GetLexicon, PutLexicon, DescribeVoices, etc.), this test reports the responsiveness of that operation and the count of HTTP errors encountered by that operation. Whenever users complain of a poor Amazon Polly experience, administrators can use this test to isolate the exact operation that may have failed or may have slowed down causing the overall user experience with Polly to suffer.

Outputs of the test : One set of results for each API operation that is called in every region.

First-level descriptor: AWS Region

Second-level descriptor: Operation name

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Req_character Indicates the average number of characters in a request for this operation. Number This measure reports billable characters only and does not include SSML tags.

For the SynthesizeSpeech operation, AWS imposes a limit of 1500 billed characters (3000 total characters) for the input text. If any user complains that he/she encountered the the TextLengthExceededException when performing the SynthesizeSpeech operation, then check the value of this me measure for the SynthesizeSpeech descriptor to determine whether/not it has crossed 1500 characters.
Req_latency Indicates the average latency between when the request was made for this operation and the start of the streaming response. Secs Ideally, the value of this measure should be low. A very high value is indicative of poor responsiveness / slowness of an API operation.

In the event of a slowdown, you may want to compare the value of this measure across operations to identify the operation that is the slowest. If the SynthesizeSpeech operation turns out to be the slowest, you may want to check the size of the lexicons. Each lexicon can be upto 4000 characters in size. Larger the size, slower will be the SynthesizeSpeech operation.
Twoxx_count Indicates the number of requests for this operation that returned the HTTP 200 level code response. Number This class of status codes indicates the action requested by the client was received, understood and accepted.

A high value is desired for this measure.
Fourxx_count Indicates the number of requests for this operation that returned the HTTP 400 level error code response. Number This class of status code is intended for situations in which the error seems to have been caused by the client.

Ideally, the value of this measure should be 0.
Fivexx_count Indicates the number of requests for this operation that returned the HTTP 500 level error code response. Number Response status codes beginning with the digit “5” indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request.

Ideally, the value of this measure should be 0.