GetPerformanceAnalysisReport
Retrieves the report including the report ID, status, time details, and the insights
with recommendations. The report status can be RUNNING
,
SUCCEEDED
, or FAILED
. The insights include the
description
and recommendation
fields.
Request Syntax
{
"AcceptLanguage": "string
",
"AnalysisReportId": "string
",
"Identifier": "string
",
"ServiceType": "string
",
"TextFormat": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
Note
In the following list, the required parameters are described first.
- AnalysisReportId
-
A unique identifier of the created analysis report. For example,
report-12345678901234567
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
report-[0-9a-f]{17}
Required: Yes
- Identifier
-
An immutable identifier for a data source that is unique for an AWS Region. Performance Insights gathers metrics from this data source. In the console, the identifier is shown as ResourceID. When you call
DescribeDBInstances
, the identifier is returned asDbiResourceId
.To use a DB instance as a data source, specify its
DbiResourceId
value. For example, specifydb-ABCDEFGHIJKLMNOPQRSTU1VW2X
.Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Pattern:
^[a-zA-Z0-9-]+$
Required: Yes
- ServiceType
-
The AWS service for which Performance Insights will return metrics. Valid value is
RDS
.Type: String
Valid Values:
RDS | DOCDB
Required: Yes
- AcceptLanguage
-
The text language in the report. The default language is
EN_US
(English).Type: String
Valid Values:
EN_US
Required: No
- TextFormat
-
Indicates the text format in the report. The options are
PLAIN_TEXT
orMARKDOWN
. The default value isplain text
.Type: String
Valid Values:
PLAIN_TEXT | MARKDOWN
Required: No
Response Syntax
{
"AnalysisReport": {
"AnalysisReportId": "string",
"CreateTime": number,
"EndTime": number,
"Identifier": "string",
"Insights": [
{
"BaselineData": [
{
"PerformanceInsightsMetric": {
"Dimensions": {
"string" : "string"
},
"DisplayName": "string",
"Metric": "string",
"Value": number
}
}
],
"Context": "string",
"Description": "string",
"EndTime": number,
"InsightData": [
{
"PerformanceInsightsMetric": {
"Dimensions": {
"string" : "string"
},
"DisplayName": "string",
"Metric": "string",
"Value": number
}
}
],
"InsightId": "string",
"InsightType": "string",
"Recommendations": [
{
"RecommendationDescription": "string",
"RecommendationId": "string"
}
],
"Severity": "string",
"StartTime": number,
"SupportingInsights": [
"Insight"
]
}
],
"ServiceType": "string",
"StartTime": number,
"Status": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- AnalysisReport
-
The summary of the performance analysis report created for a time period.
Type: AnalysisReport object
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServiceError
-
The request failed due to an unknown error.
HTTP Status Code: 500
- InvalidArgumentException
-
One of the arguments provided is invalid for this request.
HTTP Status Code: 400
- NotAuthorizedException
-
The user is not authorized to perform this request.
HTTP Status Code: 400
Examples
Retrieve a performance analysis report
The following example gets the report insights and other details for the report report-01234567890abcdef
.
Sample Request
POST / HTTP/1.1
Host: <Hostname>
Accept-Encoding: identity
X-Amz-Target: PerformanceInsightsv20180227.GetPerformanceAnalysisReport
Content-Type: application/x-amz-json-1.1
User-Agent: <UserAgentString>
X-Amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>
{
"AnalysisReportId": "report-01234567890abcdef",
"Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
"ServiceType": "RDS"
}
Sample Response
HTTP/1.1 200 OK
Content-Type: application/x-amz-json-1.1
Date: <Date>
x-amzn-RequestId: <RequestId>
Content-Length: <PayloadSizeBytes>
Connection: keep-alive
{
"AnalysisReport": {
"AnalysisReportId": "report-01234567890abcdef",
"CreateTime": 1690906983.028,
"EndTime": 1690453065,
"Identifier": "db-ABC1DEFGHIJKL2MNOPQRSTUV3W",
"Insights": [
{
"BaselineData": [
{
"PerformanceInsightsMetric": {
"Dimensions": {},
"Metric": "db.load.avg",
"Value": 0
}
}
],
"Context": "CAUSAL",
"Description": "The database is idle, with no detectable load for the time range.",
"EndTime": 1690453065,
"InsightData": [
{
"PerformanceInsightsMetric": {
"Dimensions": {},
"Metric": "db.load.avg",
"Value": 0
}
}
],
"InsightId": "MURCX0xPQURfWkVSTwY8NIdQhkWEeU19Zybf8H636v470O8ID2uUn6uLWFp5MDAwMDAwMDAw",
"InsightType": "DB_LOAD_ZERO",
"Recommendations": [
{
"RecommendationDescription": "Try creating an analysis report for a different time range.",
"RecommendationId": "MVJlY29tbWVuZGF0aW9uREJfTE9BRF9aRVJPvXe8CGe_f-ZX2tY-Em61aD6v2u9wcPi58j_zY28eKEwwMDAwMDAwMDA="
}
],
"Severity": "LOW",
"StartTime": 1690009222,
"SupportingInsights": []
}
],
"ServiceType": "RDS",
"StartTime": 1690009222,
"Status": "SUCCEEDED"
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: