aws_codeguruprofiler
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. 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.
For more information, see What is Amazon CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide.
Summary
Functions
-
add_notification_channels(Client, ProfilingGroupName, Input)
Add up to 2 anomaly notifications channels for a profiling group.
- add_notification_channels(Client, ProfilingGroupName, Input0, Options0)
-
batch_get_frame_metric_data(Client, ProfilingGroupName, Input)
Returns the time series of values for a requested list of frame metrics from a time period.
- batch_get_frame_metric_data(Client, ProfilingGroupName, Input0, Options0)
-
configure_agent(Client, ProfilingGroupName, Input)
Used by profiler agents to report their current state and to receive remote configuration updates.
- configure_agent(Client, ProfilingGroupName, Input0, Options0)
-
create_profiling_group(Client, Input)
Creates a profiling group.
- create_profiling_group(Client, Input0, Options0)
-
delete_profiling_group(Client, ProfilingGroupName, Input)
Deletes a profiling group.
- delete_profiling_group(Client, ProfilingGroupName, Input0, Options0)
-
describe_profiling_group(Client, ProfilingGroupName)
Returns a
ProfilingGroupDescription
object that contains information about the requested profiling group. - describe_profiling_group(Client, ProfilingGroupName, QueryMap, HeadersMap)
- describe_profiling_group(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
-
get_findings_report_account_summary(Client)
Returns a list of
FindingsReportSummary
objects that contain analysis results for all profiling groups in your AWS account. - get_findings_report_account_summary(Client, QueryMap, HeadersMap)
- get_findings_report_account_summary(Client, QueryMap, HeadersMap, Options0)
-
get_notification_configuration(Client, ProfilingGroupName)
Get the current configuration for anomaly notifications for a profiling group.
- get_notification_configuration(Client, ProfilingGroupName, QueryMap, HeadersMap)
- get_notification_configuration(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
-
get_policy(Client, ProfilingGroupName)
Returns the JSON-formatted resource-based policy on a profiling group.
- get_policy(Client, ProfilingGroupName, QueryMap, HeadersMap)
- get_policy(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
-
get_profile(Client, ProfilingGroupName)
Gets the aggregated profile of a profiling group for a specified time range.
- get_profile(Client, ProfilingGroupName, QueryMap, HeadersMap)
- get_profile(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
-
get_recommendations(Client, ProfilingGroupName, EndTime, StartTime)
Returns a list of
Recommendation
objects that contain recommendations for a profiling group for a given time period. - get_recommendations(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap)
- get_recommendations(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap, Options0)
-
list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime)
List the available reports for a given profiling group and time range.
- list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap)
- list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap, Options0)
-
list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime)
Lists the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range.
- list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime, QueryMap, HeadersMap)
- list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime, QueryMap, HeadersMap, Options0)
-
list_profiling_groups(Client)
Returns a list of profiling groups.
- list_profiling_groups(Client, QueryMap, HeadersMap)
- list_profiling_groups(Client, QueryMap, HeadersMap, Options0)
-
list_tags_for_resource(Client, ResourceArn)
Returns a list of the tags that are assigned to a specified resource.
- list_tags_for_resource(Client, ResourceArn, QueryMap, HeadersMap)
- list_tags_for_resource(Client, ResourceArn, QueryMap, HeadersMap, Options0)
-
post_agent_profile(Client, ProfilingGroupName, Input)
Submits profiling data to an aggregated profile of a profiling group.
- post_agent_profile(Client, ProfilingGroupName, Input0, Options0)
-
put_permission(Client, ActionGroup, ProfilingGroupName, Input)
Adds permissions to a profiling group's resource-based policy that are provided using an action group.
- put_permission(Client, ActionGroup, ProfilingGroupName, Input0, Options0)
-
remove_notification_channel(Client, ChannelId, ProfilingGroupName, Input)
Remove one anomaly notifications channel for a profiling group.
- remove_notification_channel(Client, ChannelId, ProfilingGroupName, Input0, Options0)
-
remove_permission(Client, ActionGroup, ProfilingGroupName, Input)
Removes permissions from a profiling group's resource-based policy that are provided using an action group.
- remove_permission(Client, ActionGroup, ProfilingGroupName, Input0, Options0)
-
submit_feedback(Client, AnomalyInstanceId, ProfilingGroupName, Input)
Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis is useful or not.
- submit_feedback(Client, AnomalyInstanceId, ProfilingGroupName, Input0, Options0)
-
tag_resource(Client, ResourceArn, Input)
Use to assign one or more tags to a resource.
- tag_resource(Client, ResourceArn, Input0, Options0)
-
untag_resource(Client, ResourceArn, Input)
Use to remove one or more tags from a resource.
- untag_resource(Client, ResourceArn, Input0, Options0)
-
update_profiling_group(Client, ProfilingGroupName, Input)
Updates a profiling group.
- update_profiling_group(Client, ProfilingGroupName, Input0, Options0)
Functions
add_notification_channels(Client, ProfilingGroupName, Input)
Add up to 2 anomaly notifications channels for a profiling group.
add_notification_channels(Client, ProfilingGroupName, Input0, Options0)
batch_get_frame_metric_data(Client, ProfilingGroupName, Input)
Returns the time series of values for a requested list of frame metrics from a time period.
batch_get_frame_metric_data(Client, ProfilingGroupName, Input0, Options0)
configure_agent(Client, ProfilingGroupName, Input)
Used by profiler agents to report their current state and to receive remote configuration updates.
For example,ConfigureAgent
can be used to tell and agent whether to
profile or not and for how long to return profiling data.
configure_agent(Client, ProfilingGroupName, Input0, Options0)
create_profiling_group(Client, Input)
Creates a profiling group.
create_profiling_group(Client, Input0, Options0)
delete_profiling_group(Client, ProfilingGroupName, Input)
Deletes a profiling group.
delete_profiling_group(Client, ProfilingGroupName, Input0, Options0)
describe_profiling_group(Client, ProfilingGroupName)
Returns a ProfilingGroupDescription
object that contains
information about the requested profiling group.
describe_profiling_group(Client, ProfilingGroupName, QueryMap, HeadersMap)
describe_profiling_group(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
get_findings_report_account_summary(Client)
Returns a list of FindingsReportSummary
objects that contain
analysis results for all profiling groups in your AWS account.
get_findings_report_account_summary(Client, QueryMap, HeadersMap)
get_findings_report_account_summary(Client, QueryMap, HeadersMap, Options0)
get_notification_configuration(Client, ProfilingGroupName)
Get the current configuration for anomaly notifications for a profiling group.
get_notification_configuration(Client, ProfilingGroupName, QueryMap, HeadersMap)
get_notification_configuration(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
get_policy(Client, ProfilingGroupName)
Returns the JSON-formatted resource-based policy on a profiling group.
get_policy(Client, ProfilingGroupName, QueryMap, HeadersMap)
get_policy(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
get_profile(Client, ProfilingGroupName)
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.
Because 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
.
-
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 aGetProfile
request to return a specific, existing aggregated profile. -
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.
get_profile(Client, ProfilingGroupName, QueryMap, HeadersMap)
get_profile(Client, ProfilingGroupName, QueryMap, HeadersMap, Options0)
get_recommendations(Client, ProfilingGroupName, EndTime, StartTime)
Returns a list of Recommendation
objects that contain
recommendations for a profiling group for a given time period.
Anomaly
objects that contains details about anomalies detected
in the profiling group for the same time period is also returned.
get_recommendations(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap)
get_recommendations(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap, Options0)
list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime)
List the available reports for a given profiling group and time range.
list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap)
list_findings_reports(Client, ProfilingGroupName, EndTime, StartTime, QueryMap, HeadersMap, Options0)
list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime)
Lists the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range.
list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime, QueryMap, HeadersMap)
list_profile_times(Client, ProfilingGroupName, EndTime, Period, StartTime, QueryMap, HeadersMap, Options0)
list_profiling_groups(Client)
Returns a list of profiling groups.
The profiling groups are returned asProfilingGroupDescription
objects.
list_profiling_groups(Client, QueryMap, HeadersMap)
list_profiling_groups(Client, QueryMap, HeadersMap, Options0)
list_tags_for_resource(Client, ResourceArn)
Returns a list of the tags that are assigned to a specified resource.
list_tags_for_resource(Client, ResourceArn, QueryMap, HeadersMap)
list_tags_for_resource(Client, ResourceArn, QueryMap, HeadersMap, Options0)
post_agent_profile(Client, ProfilingGroupName, Input)
Submits profiling data to an aggregated profile of a profiling group.
To get an aggregated profile that is created with this profiling data, useGetProfile
.
post_agent_profile(Client, ProfilingGroupName, Input0, Options0)
put_permission(Client, ActionGroup, ProfilingGroupName, Input)
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.
The one supported action group that can be added 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
.
The first time you call
PutPermission
on a profiling group, do not specify a
revisionId
because it doesn't have a resource-based policy.
Subsequent calls must provide a revisionId
to specify which
revision of the resource-based policy to add the permissions to.
The response contains the profiling group's JSON-formatted resource policy.
put_permission(Client, ActionGroup, ProfilingGroupName, Input0, Options0)
remove_notification_channel(Client, ChannelId, ProfilingGroupName, Input)
Remove one anomaly notifications channel for a profiling group.
remove_notification_channel(Client, ChannelId, ProfilingGroupName, Input0, Options0)
remove_permission(Client, ActionGroup, ProfilingGroupName, Input)
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 isagentPermission
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
.
remove_permission(Client, ActionGroup, ProfilingGroupName, Input0, Options0)
submit_feedback(Client, AnomalyInstanceId, ProfilingGroupName, Input)
Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis is useful or not.
submit_feedback(Client, AnomalyInstanceId, ProfilingGroupName, Input0, Options0)
tag_resource(Client, ResourceArn, Input)
Use to assign one or more tags to a resource.
tag_resource(Client, ResourceArn, Input0, Options0)
untag_resource(Client, ResourceArn, Input)
Use to remove one or more tags from a resource.
untag_resource(Client, ResourceArn, Input0, Options0)
update_profiling_group(Client, ProfilingGroupName, Input)
Updates a profiling group.