Options
All
  • Public
  • Public/Protected
  • All
Menu

Class 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 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.

Hierarchy

Implements

Index

Constructors

constructor

Properties

Readonly config

The resolved configuration of CodeGuruProfilerClient class. This is resolved and normalized from the constructor configuration interface.

middlewareStack

Methods

addNotificationChannels

batchGetFrameMetricData

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.

    Parameters

    Returns Promise<ConfigureAgentCommandOutput>

  • 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.

    Parameters

    Returns void

  • 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.

    Parameters

    Returns void

  • 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.

    Parameters

    • args: ConfigureAgentCommandInput
    • Optional options: __HttpHandlerOptions

    Returns Promise<ConfigureAgentCommandOutput>

  • 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.

    Parameters

    Returns void

  • 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.

    Parameters

    Returns void

createProfilingGroup

deleteProfilingGroup

describeProfilingGroup

destroy

  • destroy(): void
  • Destroy underlying resources, like sockets. It's usually not necessary to do this. However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. Otherwise, sockets might stay open for quite a long time before the server terminates them.

    Returns void

getFindingsReportAccountSummary

getNotificationConfiguration

getPolicy

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.

         <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>
    

    Parameters

    Returns Promise<GetProfileCommandOutput>

  • 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.

    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.

    Parameters

    Returns void

  • 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.

    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.

    Parameters

    Returns void

  • 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>
    

    Parameters

    • args: GetProfileCommandInput
    • Optional options: __HttpHandlerOptions

    Returns Promise<GetProfileCommandOutput>

  • 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.

    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.

    Parameters

    Returns void

  • 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.

    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.

    Parameters

    Returns void

getRecommendations

listFindingsReports

listProfileTimes

listProfilingGroups

listTagsForResource

postAgentProfile

putPermission

  • 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>
    

    Parameters

    Returns Promise<PutPermissionCommandOutput>

  • 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.

    Parameters

    Returns void

  • 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.

    Parameters

    Returns void

  • 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>
    

    Parameters

    • args: PutPermissionCommandInput
    • Optional options: __HttpHandlerOptions

    Returns Promise<PutPermissionCommandOutput>

  • 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.

    Parameters

    Returns void

  • 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.

    Parameters

    Returns void

removeNotificationChannel

removePermission

send

submitFeedback

tagResource

untagResource

updateProfilingGroup