chore: Fix Metrics EMF to correctly output Dimensions as an array of strings #664
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Issue number: #662
Summary
Changes
Dimensions is now a List and not a List<List>
Added tests
User experience
The following example:
Now outputs the correct value for Dimensions
{ "_aws": { "Timestamp": 1728403078569, "CloudWatchMetrics": [ { "Namespace": "ns1", "Metrics": [ { "Name": "Lambda Execute", "Unit": "Count", "StorageResolution": 1 } ], "Dimensions": [ "Type", "Service" ] } ] }, "Type": "Start", "Service": "service_undefined", "Lambda Execute": 1 } { "_aws": { "Timestamp": 1728403078575, "CloudWatchMetrics": [ { "Namespace": "ns2", "Metrics": [ { "Name": "Lambda Execute", "Unit": "Count", "StorageResolution": 1 } ], "Dimensions": [ "Type", "SessionId", "Service" ] } ] }, "Type": "Start", "SessionId": "Unset", "Service": "service_undefined", "Lambda Execute": 1 } { "_aws": { "Timestamp": 1728403078575, "CloudWatchMetrics": [ { "Namespace": "dotnet-powertools-test", "Metrics": [ { "Name": "Lambda Execute", "Unit": "Count", "StorageResolution": 1 } ], "Dimensions": [ "Service", "Default", "SessionId", "Type" ] } ] }, "Service": "testService", "Default": "Initial", "SessionId": "MySessionId", "Type": "Start", "Lambda Execute": 1 }Note
Clearing Dimensions will now result in a empty array
[]instead of[[]]For example:
{ "_aws": { "Timestamp": 1728408583773, "CloudWatchMetrics": [ { "Namespace": "dotnet-powertools-test", "Metrics": [ { "Name": "Metric Name", "Unit": "Count" } ], "Dimensions": [] } ] }, "Metric Name": 1 }Checklist
Please leave checklist items unchecked if they do not apply to your change.
Is this a breaking change?
RFC issue number:
Checklist:
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.