Amazon CodeGuru Profiler

2020/07/21 - Amazon CodeGuru Profiler - 3 new 4 updated api methods

Changes  Amazon CodeGuru Profiler now supports resource tagging APIs, tags-on-create and tag-based access control features. You can now tag profiling groups for better resource and access control management.

TagResource (new) Link ¶

Use to assign one or more tags to a resource.

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    resourceArn='string',
    tags={
        'string': 'string'
    }
)
type resourceArn

string

param resourceArn

[REQUIRED]

The Amazon Resource Name (ARN) of the resource that the tags are added to.

type tags

dict

param tags

[REQUIRED]

The list of tags that are added to the specified resource.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

UntagResource (new) Link ¶

Use to remove one or more tags from a resource.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    resourceArn='string',
    tagKeys=[
        'string',
    ]
)
type resourceArn

string

param resourceArn

[REQUIRED]

The Amazon Resource Name (ARN) of the resource that contains the tags to remove.

type tagKeys

list

param tagKeys

[REQUIRED]

A list of tag keys. Existing tags of resources with keys in this list are removed from the specified resource.

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ListTagsForResource (new) Link ¶

Returns a list of the tags that are assigned to a specified resource.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    resourceArn='string'
)
type resourceArn

string

param resourceArn

[REQUIRED]

The Amazon Resource Name (ARN) of the resource that contains the tags to return.

rtype

dict

returns

Response Syntax

{
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • tags (dict) --

      The list of tags assigned to the specified resource. This is the list of tags returned in the response.

      • (string) --

        • (string) --

CreateProfilingGroup (updated) Link ¶
Changes (request, response)
Request
{'tags': {'string': 'string'}}
Response
{'profilingGroup': {'tags': {'string': 'string'}}}

Creates a profiling group.

See also: AWS API Documentation

Request Syntax

client.create_profiling_group(
    agentOrchestrationConfig={
        'profilingEnabled': True|False
    },
    clientToken='string',
    computePlatform='AWSLambda'|'Default',
    profilingGroupName='string',
    tags={
        'string': 'string'
    }
)
type agentOrchestrationConfig

dict

param agentOrchestrationConfig

Specifies whether profiling is enabled or disabled for the created profiling group.

  • profilingEnabled (boolean) -- [REQUIRED]

    A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

type clientToken

string

param clientToken

[REQUIRED]

Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to prevent the accidental creation of duplicate profiling groups if there are failures and retries.

This field is autopopulated if not provided.

type computePlatform

string

param computePlatform

The compute platform of the profiling group. Use AWSLambda if your application runs on AWS Lambda. Use Default if your application runs on a compute platform that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, or a different platform. If not specified, Default is used.

type profilingGroupName

string

param profilingGroupName

[REQUIRED]

The name of the profiling group to create.

type tags

dict

param tags

A list of tags to add to the created profiling group.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'profilingGroup': {
        'agentOrchestrationConfig': {
            'profilingEnabled': True|False
        },
        'arn': 'string',
        'computePlatform': 'AWSLambda'|'Default',
        'createdAt': datetime(2015, 1, 1),
        'name': 'string',
        'profilingStatus': {
            'latestAgentOrchestratedAt': datetime(2015, 1, 1),
            'latestAgentProfileReportedAt': datetime(2015, 1, 1),
            'latestAggregatedProfile': {
                'period': 'P1D'|'PT1H'|'PT5M',
                'start': datetime(2015, 1, 1)
            }
        },
        'tags': {
            'string': 'string'
        },
        'updatedAt': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    The structure representing the createProfilingGroupResponse.

    • profilingGroup (dict) --

      The returned ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ object that contains information about the created profiling group.

      • agentOrchestrationConfig (dict) --

        An ` AgentOrchestrationConfig https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html`__ object that indicates if the profiling group is enabled for profiled or not.

        • profilingEnabled (boolean) --

          A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

      • arn (string) --

        The Amazon Resource Name (ARN) identifying the profiling group resource.

      • computePlatform (string) --

        The compute platform of the profiling group. If it is set to AWSLambda , then the profiled application runs on AWS Lambda. If it is set to Default , then the profiled application runs on a compute platform that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, or a different platform. The default is Default .

      • createdAt (datetime) --

        The time when the profiling group was created. 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.

      • name (string) --

        The name of the profiling group.

      • profilingStatus (dict) --

        A ` ProfilingStatus https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html`__ object that includes information about the last time a profile agent pinged back, the last time a profile was received, and the aggregation period and start time for the most recent aggregated profile.

        • latestAgentOrchestratedAt (datetime) --

          The date and time when the profiling agent most recently pinged back. 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.

        • latestAgentProfileReportedAt (datetime) --

          The date and time when the most recent profile was received. 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.

        • latestAggregatedProfile (dict) --

          An ` AggregatedProfileTime https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html`__ object that contains the aggregation period and start time for an aggregated profile.

          • period (string) --

            The aggregation period. This indicates the period during which an aggregation profile collects posted agent profiles for a profiling group. Use one of three valid durations that are specified using the ISO 8601 format.

            • P1D — 1 day

            • PT1H — 1 hour

            • PT5M — 5 minutes

          • start (datetime) --

            The time that aggregation of posted agent profiles for a profiling group starts. The aggregation profile contains profiles posted by the agent starting at this time for an aggregation period specified by the period property of the AggregatedProfileTime object.

            Specify start 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.

      • tags (dict) --

        A list of the tags that belong to this profiling group.

        • (string) --

          • (string) --

      • updatedAt (datetime) --

        The date and time when the profiling group was last updated. 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.

DescribeProfilingGroup (updated) Link ¶
Changes (response)
{'profilingGroup': {'tags': {'string': 'string'}}}

Returns a ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ object that contains information about the requested profiling group.

See also: AWS API Documentation

Request Syntax

client.describe_profiling_group(
    profilingGroupName='string'
)
type profilingGroupName

string

param profilingGroupName

[REQUIRED]

The name of the profiling group to get information about.

rtype

dict

returns

Response Syntax

{
    'profilingGroup': {
        'agentOrchestrationConfig': {
            'profilingEnabled': True|False
        },
        'arn': 'string',
        'computePlatform': 'AWSLambda'|'Default',
        'createdAt': datetime(2015, 1, 1),
        'name': 'string',
        'profilingStatus': {
            'latestAgentOrchestratedAt': datetime(2015, 1, 1),
            'latestAgentProfileReportedAt': datetime(2015, 1, 1),
            'latestAggregatedProfile': {
                'period': 'P1D'|'PT1H'|'PT5M',
                'start': datetime(2015, 1, 1)
            }
        },
        'tags': {
            'string': 'string'
        },
        'updatedAt': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    The structure representing the describeProfilingGroupResponse.

    • profilingGroup (dict) --

      The returned ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ object that contains information about the requested profiling group.

      • agentOrchestrationConfig (dict) --

        An ` AgentOrchestrationConfig https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html`__ object that indicates if the profiling group is enabled for profiled or not.

        • profilingEnabled (boolean) --

          A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

      • arn (string) --

        The Amazon Resource Name (ARN) identifying the profiling group resource.

      • computePlatform (string) --

        The compute platform of the profiling group. If it is set to AWSLambda , then the profiled application runs on AWS Lambda. If it is set to Default , then the profiled application runs on a compute platform that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, or a different platform. The default is Default .

      • createdAt (datetime) --

        The time when the profiling group was created. 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.

      • name (string) --

        The name of the profiling group.

      • profilingStatus (dict) --

        A ` ProfilingStatus https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html`__ object that includes information about the last time a profile agent pinged back, the last time a profile was received, and the aggregation period and start time for the most recent aggregated profile.

        • latestAgentOrchestratedAt (datetime) --

          The date and time when the profiling agent most recently pinged back. 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.

        • latestAgentProfileReportedAt (datetime) --

          The date and time when the most recent profile was received. 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.

        • latestAggregatedProfile (dict) --

          An ` AggregatedProfileTime https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html`__ object that contains the aggregation period and start time for an aggregated profile.

          • period (string) --

            The aggregation period. This indicates the period during which an aggregation profile collects posted agent profiles for a profiling group. Use one of three valid durations that are specified using the ISO 8601 format.

            • P1D — 1 day

            • PT1H — 1 hour

            • PT5M — 5 minutes

          • start (datetime) --

            The time that aggregation of posted agent profiles for a profiling group starts. The aggregation profile contains profiles posted by the agent starting at this time for an aggregation period specified by the period property of the AggregatedProfileTime object.

            Specify start 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.

      • tags (dict) --

        A list of the tags that belong to this profiling group.

        • (string) --

          • (string) --

      • updatedAt (datetime) --

        The date and time when the profiling group was last updated. 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.

ListProfilingGroups (updated) Link ¶
Changes (response)
{'profilingGroups': {'tags': {'string': 'string'}}}

Returns a list of profiling groups. The profiling groups are returned as ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ objects.

See also: AWS API Documentation

Request Syntax

client.list_profiling_groups(
    includeDescription=True|False,
    maxResults=123,
    nextToken='string'
)
type includeDescription

boolean

param includeDescription

A Boolean value indicating whether to include a description. If true , then a list of ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ objects that contain detailed information about profiling groups is returned. If false , then a list of profiling group names is returned.

type maxResults

integer

param maxResults

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.

type nextToken

string

param nextToken

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.

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.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'profilingGroupNames': [
        'string',
    ],
    'profilingGroups': [
        {
            'agentOrchestrationConfig': {
                'profilingEnabled': True|False
            },
            'arn': 'string',
            'computePlatform': 'AWSLambda'|'Default',
            'createdAt': datetime(2015, 1, 1),
            'name': 'string',
            'profilingStatus': {
                'latestAgentOrchestratedAt': datetime(2015, 1, 1),
                'latestAgentProfileReportedAt': datetime(2015, 1, 1),
                'latestAggregatedProfile': {
                    'period': 'P1D'|'PT1H'|'PT5M',
                    'start': datetime(2015, 1, 1)
                }
            },
            'tags': {
                'string': 'string'
            },
            'updatedAt': datetime(2015, 1, 1)
        },
    ]
}

Response Structure

  • (dict) --

    The structure representing the listProfilingGroupsResponse.

    • nextToken (string) --

      The nextToken value to include in a future ListProfilingGroups request. When the results of a ListProfilingGroups 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.

    • profilingGroupNames (list) --

      A returned list of profiling group names. A list of the names is returned only if includeDescription is false , otherwise a list of ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ objects is returned.

      • (string) --

    • profilingGroups (list) --

      A returned list ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ objects. A list of ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ objects is returned only if includeDescription is true , otherwise a list of profiling group names is returned.

      • (dict) --

        Contains information about a profiling group.

        • agentOrchestrationConfig (dict) --

          An ` AgentOrchestrationConfig https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html`__ object that indicates if the profiling group is enabled for profiled or not.

          • profilingEnabled (boolean) --

            A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

        • arn (string) --

          The Amazon Resource Name (ARN) identifying the profiling group resource.

        • computePlatform (string) --

          The compute platform of the profiling group. If it is set to AWSLambda , then the profiled application runs on AWS Lambda. If it is set to Default , then the profiled application runs on a compute platform that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, or a different platform. The default is Default .

        • createdAt (datetime) --

          The time when the profiling group was created. 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.

        • name (string) --

          The name of the profiling group.

        • profilingStatus (dict) --

          A ` ProfilingStatus https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html`__ object that includes information about the last time a profile agent pinged back, the last time a profile was received, and the aggregation period and start time for the most recent aggregated profile.

          • latestAgentOrchestratedAt (datetime) --

            The date and time when the profiling agent most recently pinged back. 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.

          • latestAgentProfileReportedAt (datetime) --

            The date and time when the most recent profile was received. 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.

          • latestAggregatedProfile (dict) --

            An ` AggregatedProfileTime https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html`__ object that contains the aggregation period and start time for an aggregated profile.

            • period (string) --

              The aggregation period. This indicates the period during which an aggregation profile collects posted agent profiles for a profiling group. Use one of three valid durations that are specified using the ISO 8601 format.

              • P1D — 1 day

              • PT1H — 1 hour

              • PT5M — 5 minutes

            • start (datetime) --

              The time that aggregation of posted agent profiles for a profiling group starts. The aggregation profile contains profiles posted by the agent starting at this time for an aggregation period specified by the period property of the AggregatedProfileTime object.

              Specify start 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.

        • tags (dict) --

          A list of the tags that belong to this profiling group.

          • (string) --

            • (string) --

        • updatedAt (datetime) --

          The date and time when the profiling group was last updated. 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.

UpdateProfilingGroup (updated) Link ¶
Changes (response)
{'profilingGroup': {'tags': {'string': 'string'}}}

Updates a profiling group.

See also: AWS API Documentation

Request Syntax

client.update_profiling_group(
    agentOrchestrationConfig={
        'profilingEnabled': True|False
    },
    profilingGroupName='string'
)
type agentOrchestrationConfig

dict

param agentOrchestrationConfig

[REQUIRED]

Specifies whether profiling is enabled or disabled for a profiling group.

  • profilingEnabled (boolean) -- [REQUIRED]

    A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

type profilingGroupName

string

param profilingGroupName

[REQUIRED]

The name of the profiling group to update.

rtype

dict

returns

Response Syntax

{
    'profilingGroup': {
        'agentOrchestrationConfig': {
            'profilingEnabled': True|False
        },
        'arn': 'string',
        'computePlatform': 'AWSLambda'|'Default',
        'createdAt': datetime(2015, 1, 1),
        'name': 'string',
        'profilingStatus': {
            'latestAgentOrchestratedAt': datetime(2015, 1, 1),
            'latestAgentProfileReportedAt': datetime(2015, 1, 1),
            'latestAggregatedProfile': {
                'period': 'P1D'|'PT1H'|'PT5M',
                'start': datetime(2015, 1, 1)
            }
        },
        'tags': {
            'string': 'string'
        },
        'updatedAt': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    The structure representing the updateProfilingGroupResponse.

    • profilingGroup (dict) --

      A ` ProfilingGroupDescription https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html`__ that contains information about the returned updated profiling group.

      • agentOrchestrationConfig (dict) --

        An ` AgentOrchestrationConfig https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html`__ object that indicates if the profiling group is enabled for profiled or not.

        • profilingEnabled (boolean) --

          A Boolean that specifies whether the profiling agent collects profiling data or not. Set to true to enable profiling.

      • arn (string) --

        The Amazon Resource Name (ARN) identifying the profiling group resource.

      • computePlatform (string) --

        The compute platform of the profiling group. If it is set to AWSLambda , then the profiled application runs on AWS Lambda. If it is set to Default , then the profiled application runs on a compute platform that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, or a different platform. The default is Default .

      • createdAt (datetime) --

        The time when the profiling group was created. 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.

      • name (string) --

        The name of the profiling group.

      • profilingStatus (dict) --

        A ` ProfilingStatus https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html`__ object that includes information about the last time a profile agent pinged back, the last time a profile was received, and the aggregation period and start time for the most recent aggregated profile.

        • latestAgentOrchestratedAt (datetime) --

          The date and time when the profiling agent most recently pinged back. 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.

        • latestAgentProfileReportedAt (datetime) --

          The date and time when the most recent profile was received. 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.

        • latestAggregatedProfile (dict) --

          An ` AggregatedProfileTime https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html`__ object that contains the aggregation period and start time for an aggregated profile.

          • period (string) --

            The aggregation period. This indicates the period during which an aggregation profile collects posted agent profiles for a profiling group. Use one of three valid durations that are specified using the ISO 8601 format.

            • P1D — 1 day

            • PT1H — 1 hour

            • PT5M — 5 minutes

          • start (datetime) --

            The time that aggregation of posted agent profiles for a profiling group starts. The aggregation profile contains profiles posted by the agent starting at this time for an aggregation period specified by the period property of the AggregatedProfileTime object.

            Specify start 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.

      • tags (dict) --

        A list of the tags that belong to this profiling group.

        • (string) --

          • (string) --

      • updatedAt (datetime) --

        The date and time when the profiling group was last updated. 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.