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:
ComputePlatform | AgentId | AwsRequestId | ExecutionEnvironment | LambdaFunctionArn | LambdaMemoryLimitInMB | LambdaRemainingTimeInMilliseconds | LambdaTimeGapBetweenInvokesInMilliseconds | LambdaPreviousExecutionTimeInMilliseconds
Required: No
-
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"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.
- agentParameters
-
Parameters used by the profiler. The valid parameters are:
-
MaxStackDepth
- The maximum depth of the stacks in the code that is represented in the profile. For example, if CodeGuru Profiler finds a methodA
, which calls methodB
, which calls methodC
, which calls methodD
, then the depth is 4. If themaxDepth
is set to 2, then the profiler evaluatesA
andB
. -
MemoryUsageLimitPercent
- The percentage of memory that is used by the profiler. -
MinimumTimeForReportingInMilliseconds
- The minimum time in milliseconds between sending reports. -
ReportingIntervalInMilliseconds
- The reporting interval in milliseconds used to report profiles. -
SamplingIntervalInMilliseconds
- The sampling interval in milliseconds that is used to profile samples.
Type: String to string map
Valid Keys:
SamplingIntervalInMilliseconds | ReportingIntervalInMilliseconds | MinimumTimeForReportingInMilliseconds | MemoryUsageLimitPercent | MaxStackDepth
-
- periodInSeconds
-
How long a profiling agent should send profiling data using
ConfigureAgent
. For example, if this is set to 300, the profiling agent callsConfigureAgent
every 5 minutes to submit the profiled data collected during that period.Type: Integer
- shouldProfile
-
A
Boolean
that specifies whether the profiling agent collects profiling data or not. Set totrue
to enable profiling.Type: Boolean
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: