- Essentials
- In The App
- Infrastructure
- Application Performance
- Log Management
- Security Platform
- UX Monitoring
- Administration
Amazon Lambda is a compute service that runs code in response to events and automatically manages the compute resources required by that code.
Enable this integration to begin collecting CloudWatch metrics. This page also describes how to set up custom metrics, logging, and tracing for your Lambda functions.
If you haven’t already, set up the Amazon Web Services integration first.
In the AWS integration tile, ensure that Lambda
is checked under metric collection.
Add the following permissions to your Datadog IAM policy to collect Amazon Lambda metrics. For more information, see the Lambda policies on the AWS website.
AWS Permission | Description |
---|---|
lambda:List* | List Lambda functions, metadata, and tags. |
tag:GetResources | Get custom tags applied to Lambda functions. |
cloudtrail:LookupEvents | Use CloudTrail History to detect changes to lambda functions |
Install the Datadog - AWS Lambda integration.
Once this is completed, view all of your Lambda Functions in the Datadog Serverless view. This page brings together metrics, traces, and logs from your AWS Lambda functions running serverless applications into one view. Detailed documentation on this feature can be found in the Datadog Serverless documentation.
aws.lambda.duration (gauge) | Measures the average elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.maximum (gauge) | Measures the maximum elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.minimum (gauge) | Measures the minimum elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.sum (gauge) | Measures the total execution time of the lambda function executing. Shown as millisecond |
aws.lambda.duration.p50 (gauge) | Measures the p50 elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.p80 (gauge) | Measures the p80 elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.p95 (gauge) | Measures the p95 elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.p99 (gauge) | Measures the p99 elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.duration.p99.9 (gauge) | Measures the p99.9 elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. Shown as millisecond |
aws.lambda.timeout (gauge) | Measures the amount of allowed execution time for the function before the Lambda runtime stops it. Shown as second |
aws.lambda.memorysize (gauge) | Measures the amount of allocated memory available to the function during execution. Shown as mebibyte |
aws.lambda.errors (count) | Measures the number of invocations that failed due to errors in the function. Shown as error |
aws.lambda.invocations (count) | Measures the number of times a function is invoked in response to an event or invocation API call. Shown as invocation |
aws.lambda.throttles (count) | Measures the number of Lambda function invocation attempts that were throttled due to invocation rates exceeding the customer's concurrent limits (error code 429). Failed invocations may trigger a retry attempt that succeeds. Shown as throttle |
aws.lambda.iterator_age (gauge) | Measures the age of the last record for each batch of records processed Shown as millisecond |
aws.lambda.iterator_age.minimum (gauge) | Measures the minimum age of the last record for each batch of records processed Shown as millisecond |
aws.lambda.iterator_age.maximum (gauge) | Measures the maximum age of the last record for each batch of records processed Shown as millisecond |
aws.lambda.iterator_age.sum (gauge) | Measures the sum of the ages of the last record for each batch of records processed Shown as millisecond |
aws.lambda.dead_letter_errors (count) | Measures the sum of times Lambda is unable to write the failed event payload to your configured Dead Letter Queues. Shown as error |
aws.lambda.concurrent_executions (gauge) | Measures the average of concurrent executions for a given function at a given point in time. Shown as execution |
aws.lambda.concurrent_executions.minimum (gauge) | Measures the minimum of concurrent executions for a given function at a given point in time. Shown as execution |
aws.lambda.concurrent_executions.maximum (gauge) | Measures the maximum of concurrent executions for a given function at a given point in time. Shown as execution |
aws.lambda.concurrent_executions.sum (gauge) | Measures the sum of concurrent executions for a given function at a given point in time. Shown as execution |
aws.lambda.concurrent_executions_global (gauge) | Measures the average of concurrent executions for all functions in an account at a given point in time. Shown as execution |
aws.lambda.concurrent_executions_global.minimum (gauge) | Measures the minimum of concurrent executions for all functions in an account at a given point in time. Shown as execution |
aws.lambda.concurrent_executions_global.maximum (gauge) | Measures the maximum of concurrent executions for all functions in an account at a given point in time. Shown as execution |
aws.lambda.concurrent_executions_global.sum (gauge) | Measures the sum of concurrent executions for all functions in an account at a given point in time. Shown as execution |
aws.lambda.unreserved_concurrent_executions (gauge) | Measures the sum of the concurrency of the functions that don't have a custom concurrency limit specified. Shown as execution |
aws.lambda.post_runtime_extensions_duration (gauge) | Measures the average amount of time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.post_runtime_extensions_duration.maximum (gauge) | Measures the maximum amount of time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.post_runtime_extensions_duration.minimum (gauge) | Measures the minimum amount of time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.post_runtime_extensions_duration.sum (gauge) | Measures the cumulative amount of time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.post_runtime_extensions_duration.p50 (gauge) | Measures the p50 elapsed wall time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.post_runtime_extensions_duration.p99 (gauge) | Measures the p90 elapsed wall time that the runtime spends running code for extensions after the function code has completed. Shown as millisecond |
aws.lambda.provisioned_concurrent_executions (gauge) | Measures the average number of events that are being processed on provisioned concurrency Shown as execution |
aws.lambda.provisioned_concurrent_executions.minimum (gauge) | Measures the minimum number of events that are being processed on provisioned concurrency Shown as execution |
aws.lambda.provisioned_concurrent_executions.maximum (gauge) | Measures the maximum number of events that are being processed on provisioned concurrency Shown as execution |
aws.lambda.provisioned_concurrency_invocations (count) | Measures the number of invocations that are run on provisioned concurrency Shown as invocation |
aws.lambda.provisioned_concurrency_spillover_invocations (count) | Measures the number of invocations that are run on non-provisioned concurrency when all provisioned concurrency is in use Shown as invocation |
aws.lambda.provisioned_concurrency_utilization (gauge) | Measures the average fraction of provisioned concurrency in use for a given function at a given point in time Shown as percent |
aws.lambda.provisioned_concurrency_utilization.minimum (gauge) | Measures the minimum fraction of provisioned concurrency in use for a given function at a given point in time Shown as percent |
aws.lambda.provisioned_concurrency_utilization.maximum (gauge) | Measures the maximum fraction of provisioned concurrency in use for a given function at a given point in time Shown as percent |
aws.lambda.signature_validation_errors (count) | Measures the number of times a function is successfully deployed but fails a signature check Shown as error |
aws.lambda.url_request_count (count) | The number of requests hit this Function URL. Shown as request |
aws.lambda.url_4xx_error (count) | The number of requests that returned a 4xx HTTP status code. Shown as error |
aws.lambda.url_5xx_error (count) | The number of requests that returned a 5xx HTTP status code. Shown as error |
aws.lambda.url_latency (gauge) | The time between when a request was received by the Function URL and when it receives a response from the function Shown as millisecond |
aws.lambda.url_latency.minimum (gauge) | The minimum time between when a request was received by the Function URL and when it receives a response from the function Shown as millisecond |
aws.lambda.url_latency.maximum (gauge) | The maximum time between when a request was received by the Function URL and when it receives a response from the function Shown as millisecond |
aws.lambda.url_latency.p50 (gauge) | The 50th percentile time between when a request was received by the Function URL and when it receives a response from the function Shown as millisecond |
aws.lambda.url_latency.p99 (gauge) | The 99th percentile time between when a request was received by the Function URL and when it receives a response from the function Shown as millisecond |
aws.lambda.enhanced.invocations (count) | Measures the number of times a function is invoked in response to an event or invocation API call. Shown as invocation |
aws.lambda.enhanced.errors (count) | Measures the number of invocations that failed due to errors in the function. Shown as error |
aws.lambda.enhanced.max_memory_used (gauge) | Measures the maximum amount of memory (mb) used by the function. Shown as mebibyte |
aws.lambda.enhanced.duration (gauge) | Measures the elapsed seconds from when the function code starts executing as a result of an invocation to when it stops executing. Shown as second |
aws.lambda.enhanced.billed_duration (gauge) | Measures the billed amount of time the function ran for. Shown as second |
aws.lambda.enhanced.init_duration (gauge) | Measures the initialization time (second) of a function during a cold start. Shown as second |
aws.lambda.enhanced.estimated_cost (gauge) | Measures the total estimated cost of the function invocation (US dollars). Shown as dollar |
aws.lambda.enhanced.timeouts (count) | Measures the number of times a function times out. Shown as timeout |
aws.lambda.enhanced.out_of_memory (count) | Measures the number of times a function runs out of memory. Shown as error |
aws.lambda.enhanced.memorysize (gauge) | Measures the amount of allocated memory (mb) available to the function during execution. Shown as mebibyte |
aws.lambda.enhanced.runtime_duration (gauge) | Measures the elapsed milliseconds from when the function code starts to when it returns the response. Shown as millisecond |
aws.lambda.enhanced.post_runtime_duration (gauge) | Measures the elapsed milliseconds from when the function returns the response to when the extensions finish performing activities like sending telemetry data to a preferred destination after the function’s response is returned. Shown as millisecond |
Each of the metrics retrieved from AWS is assigned the same tags that appear in the AWS console, including but not limited to function name, security-groups, and more.
The AWS Lambda integration collects Lambda deployment events from AWS CloudTrail if Datadog serverless deployment tracking is enabled.
The AWS Lambda integration does not include any service checks.
See the Serverless documentation to learn more.
See the Serverless documentation to learn more.
See the Serverless documentation to learn more.
See the Serverless documentation to learn more.
Datadog automatically adds tags at_edge
, edge_master_name
, and edge_master_arn
tags on your Lambda metrics to get an aggregated view of your Lambda function metrics and logs as they run in Edge locations.
Distributed tracing is not supported for Lambda@Edge functions.
Need help? Contact Datadog support.
Additional helpful documentation, links, and articles: