| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Implements add_dimensions() method to create multiple dimension sets in CloudWatch EMF output, enabling metric aggregation across different dimension combinations. - Add dimension_sets list to track multiple dimension arrays - Implement add_dimensions() in AmazonCloudWatchEMFProvider - Update serialize_metric_set to output all dimension sets - Add add_dimensions() to Metrics wrapper class - Update clear_metrics to clear dimension_sets - Add comprehensive test suite (13 tests) - Handle dimension key conflicts (last value wins) - Include default dimensions in all dimension sets Resolves aws-powertools#6198
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## develop #7848 +/- ##
========================================
Coverage 96.53% 96.54%
========================================
Files 275 275
Lines 13158 13194 +36
Branches 992 999 +7
========================================
+ Hits 12702 12738 +36
Misses 353 353
Partials 103 103 ☔ View full report in Codecov by Sentry.
|
Sorry, something went wrong.
|
Sorry, something went wrong.
There was a problem hiding this comment.
Hey @oyiz-michael! Thanks for this amazing PR! I just made some small changes and added docs and it's ready to merge
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Issue number: closes #6198
Summary
This PR implements support for multiple dimension sets in the Metrics utility, enabling users to create aggregated CloudWatch metrics across different dimension combinations. This aligns with the CloudWatch Embedded Metric Format (EMF) specification and brings Python implementation to feature parity with other Powertools runtimes (Java, TypeScript).
Changes
Core Implementation:
API Surface:
Behavior:
Testing:
Quality:
User experience
Before:
Users could only create metrics with a single dimension set, limiting their ability to aggregate metrics across different dimension combinations. To achieve hierarchical aggregation, users had to: