ConfigureAgent - Amazon CodeGuru Profiler

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.

Request Syntax

POST /profilingGroups/profilingGroupName/configureAgent HTTP/1.1 Content-type: application/json { "fleetInstanceId": "string", "metadata": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

profilingGroupName

The name of the profiling group for which the configured agent is collecting profiling data.

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: ^[\w-]+$

Required: Yes

Request Body

The request accepts the following data in JSON format.

fleetInstanceId

A universally unique identifier (UUID) for a profiling instance. For example, if the profiling instance is an Amazon EC2 instance, it is the instance ID. If it is an AWS Fargate container, it is the container's task ID.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Required: No

metadata

Metadata captured about the compute platform the agent is running on. It includes information about sampling and reporting. The valid fields are:

  • COMPUTE_PLATFORM - The compute platform on which the agent is running

  • AGENT_ID - The ID for an agent instance.

  • AWS_REQUEST_ID - The AWS request ID of a Lambda invocation.

  • EXECUTION_ENVIRONMENT - The execution environment a Lambda function is running on.

  • LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used to invoke a Lambda function.

  • LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda function.

  • LAMBDA_REMAINING_TIME_IN_MILLISECONDS - The time in milliseconds before execution of a Lambda function times out.

  • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - The time in milliseconds between two invocations of a Lambda function.

  • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The time in milliseconds for the previous Lambda invocation.

Type: String to string map

Valid Keys: AgentId | AwsRequestId | ComputePlatform | ExecutionEnvironment | LambdaFunctionArn | LambdaMemoryLimitInMB | LambdaPreviousExecutionTimeInMilliseconds | LambdaRemainingTimeInMilliseconds | LambdaTimeGapBetweenInvokesInMilliseconds

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "configuration": { "agentParameters": { "string" : "string" }, "periodInSeconds": number, "shouldProfile": boolean } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

configuration

An AgentConfiguration object that specifies if an agent profiles or not and for how long to return profiling data.

Type: AgentConfiguration object

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServerException

The server encountered an internal error and is unable to complete the request.

HTTP Status Code: 500

ResourceNotFoundException

The resource specified in the request does not exist.

HTTP Status Code: 404

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The parameter is not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: