Maintenance: V2 updates - review interface & propose improvements for Tracing module
Summary
We should use the V2 release as an opportunity to reflect upon the interfaces of our existing modules and identify areas of improvement. This work has been done as part of rewrites for some modules, and in isolation for others - check out #1283 for details.
Why is this needed?
- Minimize the likelihood that we need to make more breaking changes to PT-Java again soon in the future
- Double-down on the quality of the project by forcing large-scale code review
- Increase knowledge of the modules around the contributor team
Which area does this relate to?
No response
Solution
- A review of the current module, its public interface and structure, and potential areas for improvement documented on this ticket for discussion
- A draft PR against the
v2branch showing the high level impact of proposed changes - PR completed and merged into
v2
Acknowledgment
- [X] This request meets Powertools for AWS Lambda (Java) Tenets
- [ ] Should this be considered in other Powertools for AWS Lambda (Java) languages? i.e. Python, TypeScript
Happy to take a look at this!
@heitorlessa - what do you think about this - do you have a view on whether or not all languages should be going modular with regards to the tracing providers like python has?
I noticed that the way we are including tracing at the moment pulls in bits of the V1 AWS SDK. We should definitely fix that while we are here.
The Tracing module will not receive any major updates as part of v2. I fixed all vulnerabilities related to AWS SDK v1 but it is a transitive dependency of X-RAY. https://github.com/aws-powertools/powertools-lambda-java/commit/699eb0e3af33062bd6e7e15fffa2a4907b2e4b85
X-RAY has not announced any plan going forward yet which means that we cannot do any changes related to that prior to the v2 release. Potentially a refactoring will be needed for v3. This should be justified by becoming more open to different tracing providers.