GetNotificationConfiguration
Get the current configuration for anomaly notifications for a profiling group.
Request Syntax
GET /profilingGroups/profilingGroupName/notificationConfiguration HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
profilingGroupName (p. 23)
The name of the profiling group we want to get the notification configuration for.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"notificationConfiguration": { "channels": [
{
"eventPublishers": [ "string" ], "id": "string",
"uri": "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.
notificationConfiguration (p. 23)
The current notification configuration for this profiling group.
Type: NotificationConfiguration (p. 78) object
Errors
Errors
For information about the errors that are common to all actions, see Common Errors (p. 91).
InternalServerException
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500 ResourceNotFoundException
The resource specified in the request does not exist.
HTTP Status Code: 404 ThrottlingException
The request was denied due to request throttling.
HTTP Status Code: 429 ValidationException
The parameter is not valid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetPolicy
GetPolicy
Returns the JSON-formatted resource-based policy on a profiling group.
Request Syntax
GET /profilingGroups/profilingGroupName/policy HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
profilingGroupName (p. 25)
The name of the profiling group.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"policy": "string", "revisionId": "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.
policy (p. 25)
The JSON-formatted resource-based policy attached to the ProfilingGroup.
Type: String revisionId (p. 25)
A unique identifier for the current revision of the returned policy.
Type: String
Errors
Pattern: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
Errors
For information about the errors that are common to all actions, see Common Errors (p. 91).
InternalServerException
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500 ResourceNotFoundException
The resource specified in the request does not exist.
HTTP Status Code: 404 ThrottlingException
The request was denied due to request throttling.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetProfile
GetProfile
Gets the aggregated profile of a profiling group for a specified time range. Amazon CodeGuru Profiler collects posted agent profiles for a profiling group into aggregated profiles.
NoteBecause aggregated profiles expire over time GetProfile is not idempotent.
Specify the time range for the requested aggregated profile using 1 or 2 of the following parameters:
startTime, endTime, period. The maximum time range allowed is 7 days. If you specify all 3
parameters, an exception is thrown. If you specify only period, the latest aggregated profile is returned.
Aggregated profiles are available with aggregation periods of 5 minutes, 1 hour, and 1 day, aligned to UTC. The aggregation period of an aggregated profile determines how long it is retained. For more information, see AggregatedProfileTime. The aggregated profile's aggregation period determines how long it is retained by CodeGuru Profiler.
• If the aggregation period is 5 minutes, the aggregated profile is retained for 15 days.
• If the aggregation period is 1 hour, the aggregated profile is retained for 60 days.
• If the aggregation period is 1 day, the aggregated profile is retained for 3 years.
There are two use cases for calling GetProfile.
1. If you want to return an aggregated profile that already exists, use ListProfileTimes to view the time ranges of existing aggregated profiles. Use them in a GetProfile request to return a specific, existing aggregated profile.
2. If you want to return an aggregated profile for a time range that doesn't align with an existing aggregated profile, then CodeGuru Profiler makes a best effort to combine existing aggregated profiles from the requested time range and return them as one aggregated profile.
If aggregated profiles do not exist for the full time range requested, then aggregated profiles for a smaller time range are returned. For example, if the requested time range is from 00:00 to 00:20, and the existing aggregated profiles are from 00:15 and 00:25, then the aggregated profiles from 00:15 to 00:20 are returned.
The request uses the following URI parameters.
accept (p. 27)
The format of the returned profiling data. The format maps to the Accept and Content-Type headers of the HTTP request. You can specify one of the following: or the default .
• application/json — standard JSON format
• application/x-amzn-ion — the Amazon Ion data format. For more information, see Amazon Ion.
Request Body
endTime (p. 27)
The end time of the requested profile. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
If you specify endTime, then you must also specify period or startTime, but not both.
maxDepth (p. 27)
The maximum depth of the stacks in the code that is represented in the aggregated profile. For example, if CodeGuru Profiler finds a method A, which calls method B, which calls method C, which calls method D, then the depth is 4. If the maxDepth is set to 2, then the aggregated profile contains representations of methods A and B.
Valid Range: Minimum value of 1. Maximum value of 10000.
period (p. 27)
Used with startTime or endTime to specify the time range for the returned aggregated profile.
Specify using the ISO 8601 format. For example, P1DT1H1M1S.
To get the latest aggregated profile, specify only period.
Length Constraints: Minimum length of 1. Maximum length of 64.
profilingGroupName (p. 27)
The name of the profiling group to get.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
Required: Yes startTime (p. 27)
The start time of the profile to get. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
If you specify startTime, then you must also specify period or endTime, but not both.
Request Body
The request does not have a request body.
Response Syntax
If the action is successful, the service sends back an HTTP 200 response.
The response returns the following HTTP headers.
Errors
contentEncoding (p. 28)
The content encoding of the profile.
contentType (p. 28)
The content type of the profile in the payload. It is either application/json or the default application/x-amzn-ion.
The response returns the following as the HTTP body.
profile (p. 28)
Information about the profile.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 91).
InternalServerException
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500 ResourceNotFoundException
The resource specified in the request does not exist.
HTTP Status Code: 404 ThrottlingException
The request was denied due to request throttling.
HTTP Status Code: 429 ValidationException
The parameter is not valid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetRecommendations
GetRecommendations
Returns a list of Recommendation objects that contain recommendations for a profiling group for a given time period. A list of Anomaly objects that contains details about anomalies detected in the profiling group for the same time period is also returned.
Request Syntax
GET /internal/profilingGroups/profilingGroupName/recommendations?
endTime=endTime&locale=locale&startTime=startTime HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
endTime (p. 30)
The start time of the profile to get analysis data about. You must specify startTime and endTime.
This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Required: Yes locale (p. 30)
The language used to provide analysis. Specify using a string that is one of the following BCP 47 language codes.
• de-DE - German, Germany
• en-GB - English, United Kingdom
• en-US - English, United States
• es-ES - Spanish, Spain
• fr-FR - French, France
• it-IT - Italian, Italy
• ja-JP - Japanese, Japan
• ko-KR - Korean, Republic of Korea
• pt-BR - Portugese, Brazil
• zh-CN - Chinese, China
• zh-TW - Chinese, Taiwan profilingGroupName (p. 30)
The name of the profiling group to get analysis data about.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
Required: Yes startTime (p. 30)
The end time of the profile to get analysis data about. You must specify startTime and endTime.
This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Request Body
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
"profileEndTime": number, "profileStartTime": number, "profilingGroupName": "string", "recommendations": [
{
Response Elements
}
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.
anomalies (p. 31)
The list of anomalies that the analysis has found for this profile.
Type: Array of Anomaly (p. 69) objects profileEndTime (p. 31)
The end time of the profile the analysis data is about. This is specified using the ISO 8601 format.
For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Type: Timestamp profileStartTime (p. 31)
The start time of the profile the analysis data is about. This is specified using the ISO 8601 format.
For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Type: Timestamp profilingGroupName (p. 31)
The name of the profiling group the analysis data is about.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
recommendations (p. 31)
The list of recommendations that the analysis found for this profile.
Type: Array of Recommendation (p. 85) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 91).
InternalServerException
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500 ResourceNotFoundException
The resource specified in the request does not exist.
HTTP Status Code: 404
See Also
ThrottlingException
The request was denied due to request throttling.
HTTP Status Code: 429 ValidationException
The parameter is not valid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListFindingsReports
ListFindingsReports
List the available reports for a given profiling group and time range.
Request Syntax
GET /internal/profilingGroups/profilingGroupName/findingsReports?
dailyReportsOnly=dailyReportsOnly&endTime=endTime&maxResults=maxResults&nextToken=nextToken&startTime=startTime HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
dailyReportsOnly (p. 34)
A Boolean value indicating whether to only return reports from daily profiles. If set to True, only analysis data from daily profiles is returned. If set to False, analysis data is returned from smaller time windows (for example, one hour).
endTime (p. 34)
The end time of the profile to get analysis data about. You must specify startTime and endTime.
This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Required: Yes maxResults (p. 34)
The maximum number of report results returned by ListFindingsReports in paginated output.
When this parameter is used, ListFindingsReports only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFindingsReports request with the returned nextToken value.
Valid Range: Minimum value of 1. Maximum value of 1000.
nextToken (p. 34)
The nextToken value returned from a previous paginated ListFindingsReportsRequest request where maxResults was used and the results exceeded the value of that parameter.
Pagination continues from the end of the previous results that returned the nextToken value.
Note
This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: ^[\w-]+$
profilingGroupName (p. 34)
The name of the profiling group from which to search for analysis data.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern: ^[\w-]+$
Required: Yes
Request Body
startTime (p. 34)
The start time of the profile to get analysis data about. You must specify startTime and endTime.
This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "findingsReportSummaries": [ {
"nextToken": "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.
findingsReportSummaries (p. 35) The list of analysis results summaries.
Type: Array of FindingsReportSummary (p. 72) objects nextToken (p. 35)
The nextToken value to include in a future ListFindingsReports request. When the results of a ListFindingsReports request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: ^[\w-]+$
Errors
For information about the errors that are common to all actions, see Common Errors (p. 91).
See Also
InternalServerException
The server encountered an internal error and is unable to complete the request.
HTTP Status Code: 500 ResourceNotFoundException
The resource specified in the request does not exist.
HTTP Status Code: 404 ThrottlingException
The request was denied due to request throttling.
HTTP Status Code: 429 ValidationException
The parameter is not valid.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3