[Lambda][CloudWatch] Memory Usage as a CloudWatch Metric

Open
#68 0 comments 16 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
aws

Research direction

No repository files, tests, or code entry points are mentioned in the issue. Start by reviewing the AWS Lambda and CloudWatch metric capabilities described here, then determine the required metric definition and integration path. Done means Lambda memory usage is available as a CloudWatch metric and can be used for monitoring and alarms.

Written by the indexing model from the issue text.

Description

Community Note
  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request
Adding Lambda memory usage as a CloudWatch metric would enable users to create alarms on memory usage, allowing proactive adjustments to memory allocation before encountering errors. It would also simplify monitoring this critical parameter by making memory usage directly visible in the Monitoring section of the Lambda console.

This enhancement would improve visualization of memory usage and facilitate better handling of memory-related issues (e.g., insufficient memory) before they result in errors.

Which service(s) is this request for?
AWS Lambda

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Currently, there are no direct metrics for memory usage in CloudWatch. Users must rely on CloudWatch Logs Insights queries to extract memory usage data, which adds complexity and is less user-friendly.

Are you currently working around this issue?
To monitor memory usage, we need to navigate to Monitoring, then CloudWatch Logs, and execute a Logs Insights query such as:

filter @type = "REPORT"  
| stats max(@memorySize / 1000 / 1000) as provisionedMemoryMB,  
min(@maxMemoryUsed / 1000 / 1000) as smallestMemoryRequestMB,  
avg(@maxMemoryUsed / 1000 / 1000) as avgMemoryUsedMB,  
max(@maxMemoryUsed / 1000 / 1000) as maxMemoryUsedMB,  
provisionedMemoryMB - maxMemoryUsedMB as overProvisionedMB  

Alternatively, memory usage information can be found in "Recent invocations" and "Most expensive invocations in GB-seconds (memory assigned * billed duration)." However, these methods are not the most user-friendly or efficient for monitoring memory usage.

Additional context
N/A

Attachments
N/A

Dominant language
No language data
Stars
196
Forks
5
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from aws/aws-lambda-roadmap

All issues in aws/aws-lambda-roadmap

Similar issues

More Cloud issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.