@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AmazonCodeGuruProfilerClient extends AmazonWebServiceClient implements AmazonCodeGuruProfiler
This section provides documentation for the Amazon CodeGuru Profiler API operations.
Amazon CodeGuru Profiler collects runtime performance data from your live applications, and provides recommendations that can help you fine-tune your application performance. Using machine learning algorithms, CodeGuru Profiler can help you find your most expensive lines of code and suggest ways you can improve efficiency and remove CPU bottlenecks.
Amazon CodeGuru Profiler provides different visualizations of profiling data to help you identify what code is running on the CPU, see how much time is consumed, and suggest ways to reduce CPU utilization.
Amazon CodeGuru Profiler currently supports applications written in all Java virtual machine (JVM) languages and Python. While CodeGuru Profiler supports both visualizations and recommendations for applications written in Java, it can also generate visualizations and a subset of recommendations for applications written in other JVM languages and Python.
For more information, see What is Amazon CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
Modifier and Type | Method and Description |
---|---|
AddNotificationChannelsResult |
addNotificationChannels(AddNotificationChannelsRequest request)
Add up to 2 anomaly notifications channels for a profiling group.
|
BatchGetFrameMetricDataResult |
batchGetFrameMetricData(BatchGetFrameMetricDataRequest request)
Returns the time series of values for a requested list of frame metrics from a time period.
|
static AmazonCodeGuruProfilerClientBuilder |
builder() |
ConfigureAgentResult |
configureAgent(ConfigureAgentRequest request)
Used by profiler agents to report their current state and to receive remote configuration updates.
|
CreateProfilingGroupResult |
createProfilingGroup(CreateProfilingGroupRequest request)
Creates a profiling group.
|
DeleteProfilingGroupResult |
deleteProfilingGroup(DeleteProfilingGroupRequest request)
Deletes a profiling group.
|
DescribeProfilingGroupResult |
describeProfilingGroup(DescribeProfilingGroupRequest request)
Returns a
ProfilingGroupDescription object that contains information about the requested profiling group. |
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful, request, typically used for debugging issues
where a service isn't acting as expected.
|
GetFindingsReportAccountSummaryResult |
getFindingsReportAccountSummary(GetFindingsReportAccountSummaryRequest request)
Returns a list of
FindingsReportSummary objects that contain analysis results for all profiling groups in your
AWS account. |
GetNotificationConfigurationResult |
getNotificationConfiguration(GetNotificationConfigurationRequest request)
Get the current configuration for anomaly notifications for a profiling group.
|
GetPolicyResult |
getPolicy(GetPolicyRequest request)
Returns the JSON-formatted resource-based policy on a profiling group.
|
GetProfileResult |
getProfile(GetProfileRequest request)
Gets the aggregated profile of a profiling group for a specified time range.
|
GetRecommendationsResult |
getRecommendations(GetRecommendationsRequest request)
Returns a list of
Recommendation objects that contain recommendations for a profiling group for a given time
period. |
ListFindingsReportsResult |
listFindingsReports(ListFindingsReportsRequest request)
List the available reports for a given profiling group and time range.
|
ListProfileTimesResult |
listProfileTimes(ListProfileTimesRequest request)
Lists the start times of the available aggregated profiles of a profiling group for an aggregation period within
the specified time range.
|
ListProfilingGroupsResult |
listProfilingGroups(ListProfilingGroupsRequest request)
Returns a list of profiling groups.
|
ListTagsForResourceResult |
listTagsForResource(ListTagsForResourceRequest request)
Returns a list of the tags that are assigned to a specified resource.
|
PostAgentProfileResult |
postAgentProfile(PostAgentProfileRequest request)
Submits profiling data to an aggregated profile of a profiling group.
|
PutPermissionResult |
putPermission(PutPermissionRequest request)
Adds permissions to a profiling group's resource-based policy that are provided using an action group.
|
RemoveNotificationChannelResult |
removeNotificationChannel(RemoveNotificationChannelRequest request)
Remove one anomaly notifications channel for a profiling group.
|
RemovePermissionResult |
removePermission(RemovePermissionRequest request)
Removes permissions from a profiling group's resource-based policy that are provided using an action group.
|
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
SubmitFeedbackResult |
submitFeedback(SubmitFeedbackRequest request)
Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis is useful or not.
|
TagResourceResult |
tagResource(TagResourceRequest request)
Use to assign one or more tags to a resource.
|
UntagResourceResult |
untagResource(UntagResourceRequest request)
Use to remove one or more tags from a resource.
|
UpdateProfilingGroupResult |
updateProfilingGroup(UpdateProfilingGroupRequest request)
Updates a profiling group.
|
addRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
public static AmazonCodeGuruProfilerClientBuilder builder()
public AddNotificationChannelsResult addNotificationChannels(AddNotificationChannelsRequest request)
Add up to 2 anomaly notifications channels for a profiling group.
addNotificationChannels
in interface AmazonCodeGuruProfiler
addNotificationChannelsRequest
- The structure representing the AddNotificationChannelsRequest.ServiceQuotaExceededException
- You have exceeded your service quota. To perform the requested action, remove some of the relevant
resources, or use Service
Quotas to request a service quota increase.InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated
with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public BatchGetFrameMetricDataResult batchGetFrameMetricData(BatchGetFrameMetricDataRequest request)
Returns the time series of values for a requested list of frame metrics from a time period.
batchGetFrameMetricData
in interface AmazonCodeGuruProfiler
batchGetFrameMetricDataRequest
- The structure representing the BatchGetFrameMetricDataRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public ConfigureAgentResult configureAgent(ConfigureAgentRequest request)
Used by profiler agents to report their current state and to receive remote configuration updates. For example,
ConfigureAgent
can be used to tell an agent whether to profile or not and for how long to return
profiling data.
configureAgent
in interface AmazonCodeGuruProfiler
configureAgentRequest
- The structure representing the configureAgentRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public CreateProfilingGroupResult createProfilingGroup(CreateProfilingGroupRequest request)
Creates a profiling group.
createProfilingGroup
in interface AmazonCodeGuruProfiler
createProfilingGroupRequest
- The structure representing the createProfiliingGroupRequest.ServiceQuotaExceededException
- You have exceeded your service quota. To perform the requested action, remove some of the relevant
resources, or use Service
Quotas to request a service quota increase.InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated
with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.public DeleteProfilingGroupResult deleteProfilingGroup(DeleteProfilingGroupRequest request)
Deletes a profiling group.
deleteProfilingGroup
in interface AmazonCodeGuruProfiler
deleteProfilingGroupRequest
- The structure representing the deleteProfilingGroupRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated
with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public DescribeProfilingGroupResult describeProfilingGroup(DescribeProfilingGroupRequest request)
Returns a
ProfilingGroupDescription
object that contains information about the requested profiling group.
describeProfilingGroup
in interface AmazonCodeGuruProfiler
describeProfilingGroupRequest
- The structure representing the describeProfilingGroupRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public GetFindingsReportAccountSummaryResult getFindingsReportAccountSummary(GetFindingsReportAccountSummaryRequest request)
Returns a list of
FindingsReportSummary
objects that contain analysis results for all profiling groups in your
AWS account.
getFindingsReportAccountSummary
in interface AmazonCodeGuruProfiler
getFindingsReportAccountSummaryRequest
- The structure representing the GetFindingsReportAccountSummaryRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.public GetNotificationConfigurationResult getNotificationConfiguration(GetNotificationConfigurationRequest request)
Get the current configuration for anomaly notifications for a profiling group.
getNotificationConfiguration
in interface AmazonCodeGuruProfiler
getNotificationConfigurationRequest
- The structure representing the GetNotificationConfigurationRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public GetPolicyResult getPolicy(GetPolicyRequest request)
Returns the JSON-formatted resource-based policy on a profiling group.
getPolicy
in interface AmazonCodeGuruProfiler
getPolicyRequest
- The structure representing the getPolicyRequest
.InternalServerException
- The server encountered an internal error and is unable to complete the request.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public GetProfileResult getProfile(GetProfileRequest request)
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.
<note> <p> Because aggregated profiles expire over time <code>GetProfile</code> is not idempotent. </p> </note> <p> Specify the time range for the requested aggregated profile using 1 or 2 of the following parameters: <code>startTime</code>, <code>endTime</code>, <code>period</code>. The maximum time range allowed is 7 days. If you specify all 3 parameters, an exception is thrown. If you specify only <code>period</code>, the latest aggregated profile is returned. </p> <p> 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 <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html"> <code>AggregatedProfileTime</code> </a>. The aggregated profile's aggregation period determines how long it is retained by CodeGuru Profiler. </p> <ul> <li> <p> If the aggregation period is 5 minutes, the aggregated profile is retained for 15 days. </p> </li> <li> <p> If the aggregation period is 1 hour, the aggregated profile is retained for 60 days. </p> </li> <li> <p> If the aggregation period is 1 day, the aggregated profile is retained for 3 years. </p> </li> </ul> <p>There are two use cases for calling <code>GetProfile</code>.</p> <ol> <li> <p> If you want to return an aggregated profile that already exists, use <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfileTimes.html"> <code>ListProfileTimes</code> </a> to view the time ranges of existing aggregated profiles. Use them in a <code>GetProfile</code> request to return a specific, existing aggregated profile. </p> </li> <li> <p> 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. </p> <p> 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. </p> </li> </ol>
getProfile
in interface AmazonCodeGuruProfiler
getProfileRequest
- The structure representing the getProfileRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public GetRecommendationsResult getRecommendations(GetRecommendationsRequest request)
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.
getRecommendations
in interface AmazonCodeGuruProfiler
getRecommendationsRequest
- The structure representing the GetRecommendationsRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public ListFindingsReportsResult listFindingsReports(ListFindingsReportsRequest request)
List the available reports for a given profiling group and time range.
listFindingsReports
in interface AmazonCodeGuruProfiler
listFindingsReportsRequest
- The structure representing the ListFindingsReportsRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public ListProfileTimesResult listProfileTimes(ListProfileTimesRequest request)
Lists the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range.
listProfileTimes
in interface AmazonCodeGuruProfiler
listProfileTimesRequest
- The structure representing the listProfileTimesRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public ListProfilingGroupsResult listProfilingGroups(ListProfilingGroupsRequest request)
Returns a list of profiling groups. The profiling groups are returned as
ProfilingGroupDescription
objects.
listProfilingGroups
in interface AmazonCodeGuruProfiler
listProfilingGroupsRequest
- The structure representing the listProfilingGroupsRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ThrottlingException
- The request was denied due to request throttling.public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request)
Returns a list of the tags that are assigned to a specified resource.
listTagsForResource
in interface AmazonCodeGuruProfiler
listTagsForResourceRequest
- InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ResourceNotFoundException
- The resource specified in the request does not exist.public PostAgentProfileResult postAgentProfile(PostAgentProfileRequest request)
Submits profiling data to an aggregated profile of a profiling group. To get an aggregated profile that is
created with this profiling data, use GetProfile
.
postAgentProfile
in interface AmazonCodeGuruProfiler
postAgentProfileRequest
- The structure representing the postAgentProfileRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public PutPermissionResult putPermission(PutPermissionRequest request)
Adds permissions to a profiling group's resource-based policy that are provided using an action group. If a
profiling group doesn't have a resource-based policy, one is created for it using the permissions in the action
group and the roles and users in the principals
parameter.
<p> The one supported action group that can be added is <code>agentPermission</code> which grants <code>ConfigureAgent</code> and <code>PostAgent</code> permissions. For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html">Resource-based policies in CodeGuru Profiler</a> in the <i>Amazon CodeGuru Profiler User Guide</i>, <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html"> <code>ConfigureAgent</code> </a>, and <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html"> <code>PostAgentProfile</code> </a>. </p> <p> The first time you call <code>PutPermission</code> on a profiling group, do not specify a <code>revisionId</code> because it doesn't have a resource-based policy. Subsequent calls must provide a <code>revisionId</code> to specify which revision of the resource-based policy to add the permissions to. </p> <p> The response contains the profiling group's JSON-formatted resource policy. </p>
putPermission
in interface AmazonCodeGuruProfiler
putPermissionRequest
- The structure representing the putPermissionRequest
.InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated
with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public RemoveNotificationChannelResult removeNotificationChannel(RemoveNotificationChannelRequest request)
Remove one anomaly notifications channel for a profiling group.
removeNotificationChannel
in interface AmazonCodeGuruProfiler
removeNotificationChannelRequest
- The structure representing the RemoveNotificationChannelRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public RemovePermissionResult removePermission(RemovePermissionRequest request)
Removes permissions from a profiling group's resource-based policy that are provided using an action group. The
one supported action group that can be removed is agentPermission
which grants
ConfigureAgent
and PostAgent
permissions. For more information, see Resource-based
policies in CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide,
ConfigureAgent
, and
PostAgentProfile
.
removePermission
in interface AmazonCodeGuruProfiler
removePermissionRequest
-
The structure representing the <code>removePermissionRequest</code>.</p>
InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public SubmitFeedbackResult submitFeedback(SubmitFeedbackRequest request)
Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis is useful or not.
submitFeedback
in interface AmazonCodeGuruProfiler
submitFeedbackRequest
- The structure representing the SubmitFeedbackRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public TagResourceResult tagResource(TagResourceRequest request)
Use to assign one or more tags to a resource.
tagResource
in interface AmazonCodeGuruProfiler
tagResourceRequest
- InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ResourceNotFoundException
- The resource specified in the request does not exist.public UntagResourceResult untagResource(UntagResourceRequest request)
Use to remove one or more tags from a resource.
untagResource
in interface AmazonCodeGuruProfiler
untagResourceRequest
- InternalServerException
- The server encountered an internal error and is unable to complete the request.ValidationException
- The parameter is not valid.ResourceNotFoundException
- The resource specified in the request does not exist.public UpdateProfilingGroupResult updateProfilingGroup(UpdateProfilingGroupRequest request)
Updates a profiling group.
updateProfilingGroup
in interface AmazonCodeGuruProfiler
updateProfilingGroupRequest
- The structure representing the updateProfilingGroupRequest.InternalServerException
- The server encountered an internal error and is unable to complete the request.ConflictException
- The requested operation would cause a conflict with the current state of a service resource associated
with the request. Resolve the conflict before retrying this request.ValidationException
- The parameter is not valid.ThrottlingException
- The request was denied due to request throttling.ResourceNotFoundException
- The resource specified in the request does not exist.public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata
in interface AmazonCodeGuruProfiler
request
- The originally executed requestpublic void shutdown()
AmazonWebServiceClient
shutdown
in interface AmazonCodeGuruProfiler
shutdown
in class AmazonWebServiceClient