-
Notifications
You must be signed in to change notification settings - Fork 93
Description
Use case
PLEASE READ: Priming documentation: https://github.com/aws-powertools/powertools-lambda-java/blob/main/Priming.md
Parent issue: #1588
Sample PR: #1861
Java CRaC can be used to prime an application by implementing beforeCheckpoint()
and afterRestore()
hooks in selected classes. When used with AWS Snapstart, the beforeCheckpoint()
hook runs before the memory snapshot is taken. This behavior can be leveraged to further reduce restore durations by pre-loading classes and calling commonly used code to incorporate this into the memory snapshot.
- Class-preloading / automatic priming: Based on a statically generated
classesloaded.txt
file, loads classes used at runtime into memory - Invoke priming: Execute commonly used code e.g. to initialize all reflectively access objects, warm up caches, TCP connection pools etc. Common examples include performing "dry" AWS SDK calls (not impacting production resources) or performing JSON serialization/deserialization.
The goal of this issue is to implementing priming techniques for the powertools-validation
module.
Solution/User Experience
Implement priming based on Priming Documentation (feel free to update documentation and suggest improvements):
- Automatic priming
- Invoke priming
Alternative solutions
Acknowledgment
- This feature request meets Powertools for AWS Lambda (Java) Tenets
- Should this be considered in other Powertools for AWS Lambda languages? i.e. Python, TypeScript, and .NET
Future readers
Please react with 👍 and your use case to help us understand customer demand.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status