POST
/profilingGroups/{profilingGroupName}/notificationConfiguration
Add up to 2 anomaly notifications channels for a profiling group.
profilingGroupName path · required — The name of the profiling group that we are setting up notifications for.
GET
/profilingGroups/{profilingGroupName}/notificationConfiguration
Get the current configuration for anomaly notifications for a profiling group.
profilingGroupName path · required — The name of the profiling group we want to get the notification configuration for.
POST
/profilingGroups/{profilingGroupName}/frames/-/metrics
Returns the time series of values for a requested list of frame metrics from a time period.
endTime query — The end time of the time period for the returned time series values. 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.period query — The duration of the frame metrics used to return the time series values. Specify using the ISO 8601 format. The maximum period duration is one day ( PT24H or P1D ).profilingGroupName path · required — The name of the profiling group associated with the the frame metrics used to return the time series values.startTime query — The start time of the time period for the frame metrics used to return the time series values. 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.targetResolution query — The requested resolution of time steps for the returned time series of values. If the requested target resolution is not available due to data not being retained we provide a best effort result by falling back to the most granular available resolution after the target resolution. There are 3 valid values. P1D — 1 day PT1H — 1 hour PT5M — 5 minutes
POST
/profilingGroups/{profilingGroupName}/configureAgent
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.
profilingGroupName path · required — The name of the profiling group for which the configured agent is collecting profiling data.
DELETE
/profilingGroups/{profilingGroupName}
Deletes a profiling group.
profilingGroupName path · required — The name of the profiling group to delete.
GET
/profilingGroups/{profilingGroupName}
Returns a ProfilingGroupDescription object that contains information about the requested profiling group.
profilingGroupName path · required — The name of the profiling group to get information about.
PUT
/profilingGroups/{profilingGroupName}
Updates a profiling group.
profilingGroupName path · required — The name of the profiling group to update.
GET
/profilingGroups/{profilingGroupName}/policy
Returns the JSON-formatted resource-based policy on a profiling group.
profilingGroupName path · required — The name of the profiling group.
GET
/profilingGroups/{profilingGroupName}/profile
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>
Accept header — 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 . <ul> <li> <p> <code>application/json</code> — standard JSON format </p> </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon Ion</a>. </p> </li> </ul>endTime query — 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 query — 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 .period query — Used with startTime or endTime to specify the time range for the returned aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S . <p> To get the latest aggregated profile, specify only <code>period</code>. </p>profilingGroupName path · required — The name of the profiling group to get.startTime query — 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. <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
GET
/profilingGroups/{profilingGroupName}/profileTimes#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.
endTime query · required — The end time of the time range from which to list the profiles.maxResults query — The maximum number of profile time results returned by ListProfileTimes in paginated output. When this parameter is used, ListProfileTimes only returns maxResults results in a single page with a nextToken response element. The remaining results of the initial request can be seen by sending another ListProfileTimes request with the returned nextToken value.nextToken query — The nextToken value returned from a previous paginated ListProfileTimes 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. 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.orderBy query — The order (ascending or descending by start time of the profile) to use when listing profiles. Defaults to TIMESTAMP_DESCENDING .period query · required — The aggregation period. This specifies the period during which an aggregation profile collects posted agent profiles for a profiling group. There are 3 valid values. P1D — 1 day PT1H — 1 hour PT5M — 5 minutesprofilingGroupName path · required — The name of the profiling group.startTime query · required — The start time of the time range from which to list the profiles.
GET
/profilingGroups
Returns a list of profiling groups. The profiling groups are returned as ProfilingGroupDescription objects.
includeDescription query — A Boolean value indicating whether to include a description. If true , then a list of ProfilingGroupDescription objects that contain detailed information about profiling groups is returned. If false , then a list of profiling group names is returned.maxResults query — The maximum number of profiling groups results returned by ListProfilingGroups in paginated output. When this parameter is used, ListProfilingGroups 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 ListProfilingGroups request with the returned nextToken value.nextToken query — The nextToken value returned from a previous paginated ListProfilingGroups 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. 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.
POST
/profilingGroups/{profilingGroupName}/agentProfile#Content-Type
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 .
Content-Type header · required — The format of the submitted 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 . <ul> <li> <p> <code>application/json</code> — standard JSON format </p> </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon Ion</a>. </p> </li> </ul>profileToken query — Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to prevent the accidental submission of duplicate profiling data if there are failures and retries.profilingGroupName path · required — The name of the profiling group with the aggregated profile that receives the submitted profiling data.
PUT
/profilingGroups/{profilingGroupName}/policy/{actionGroup}
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>
actionGroup path · required — Specifies an action group that contains permissions to add to a profiling group resource. One action group is supported, agentPermissions , which grants permission to perform actions required by the profiling agent, ConfigureAgent and PostAgentProfile permissions.profilingGroupName path · required — The name of the profiling group to grant access to.
DELETE
/profilingGroups/{profilingGroupName}/notificationConfiguration/{channelId}
Remove one anomaly notifications channel for a profiling group.
channelId path · required — The id of the channel that we want to stop receiving notifications.profilingGroupName path · required — The name of the profiling group we want to change notification configuration for.
DELETE
/profilingGroups/{profilingGroupName}/policy/{actionGroup}#revisionId
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 .
actionGroup path · required — Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, agentPermissions , which grants ConfigureAgent and PostAgentProfile permissions.profilingGroupName path · required — The name of the profiling group.revisionId query · required — A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.