@@ -200,12 +200,6 @@ class Metrics extends Utility implements MetricsInterface {
200
200
*/
201
201
private storedMetrics : StoredMetrics = { } ;
202
202
203
- /**
204
- * Storage for dimension sets
205
- * @default []
206
- */
207
- private dimensionSets : DimensionSet [ ] = [ ] ;
208
-
209
203
/**
210
204
* Whether to disable metrics
211
205
*/
@@ -220,7 +214,6 @@ class Metrics extends Utility implements MetricsInterface {
220
214
super ( ) ;
221
215
222
216
this . dimensions = { } ;
223
- this . dimensionSets = [ ] ;
224
217
this . setOptions ( options ) ;
225
218
this . #logger = options . logger || this . console ;
226
219
}
@@ -298,40 +291,8 @@ class Metrics extends Utility implements MetricsInterface {
298
291
* @param dimensions - An object with key-value pairs of dimensions
299
292
*/
300
293
public addDimensions ( dimensions : Dimensions ) : void {
301
- const dimensionSet : string [ ] = [ ] ;
302
-
303
- // Add default dimensions to the set
304
- for ( const name of Object . keys ( this . defaultDimensions ) ) {
305
- dimensionSet . push ( name ) ;
306
- }
307
-
308
- // Add new dimensions to both the dimension set and the dimensions object
309
294
for ( const [ name , value ] of Object . entries ( dimensions ) ) {
310
- if ( ! value ) {
311
- this . #logger. warn (
312
- `The dimension ${ name } doesn't meet the requirements and won't be added. Ensure the dimension name and value are non empty strings`
313
- ) ;
314
- continue ;
315
- }
316
-
317
- if ( MAX_DIMENSION_COUNT <= this . getCurrentDimensionsCount ( ) + 1 ) {
318
- throw new RangeError (
319
- `The number of metric dimensions must be lower than ${ MAX_DIMENSION_COUNT } `
320
- ) ;
321
- }
322
-
323
- // Add to dimensions object for value storage
324
- this . dimensions [ name ] = value ;
325
-
326
- // Add to dimension set if not already included
327
- if ( ! dimensionSet . includes ( name ) ) {
328
- dimensionSet . push ( name ) ;
329
- }
330
- }
331
-
332
- // Only add the dimension set if it has dimensions beyond the defaults
333
- if ( dimensionSet . length > Object . keys ( this . defaultDimensions ) . length ) {
334
- this . dimensionSets . push ( dimensionSet ) ;
295
+ this . addDimension ( name , value ) ;
335
296
}
336
297
}
337
298
@@ -521,7 +482,6 @@ class Metrics extends Utility implements MetricsInterface {
521
482
*/
522
483
public clearDimensions ( ) : void {
523
484
this . dimensions = { } ;
524
- this . dimensionSets = [ ] ;
525
485
}
526
486
527
487
/**
@@ -775,21 +735,13 @@ class Metrics extends Utility implements MetricsInterface {
775
735
] ) ,
776
736
] ;
777
737
778
- // Prepare all dimension sets for the EMF output
779
- const allDimensionSets : DimensionSet [ ] = [ defaultDimensionNames ] ;
780
-
781
- // Add any additional dimension sets created via addDimensions()
782
- if ( this . dimensionSets . length > 0 ) {
783
- allDimensionSets . push ( ...this . dimensionSets ) ;
784
- }
785
-
786
738
return {
787
739
_aws : {
788
740
Timestamp : this . #timestamp ?? new Date ( ) . getTime ( ) ,
789
741
CloudWatchMetrics : [
790
742
{
791
743
Namespace : this . namespace || DEFAULT_NAMESPACE ,
792
- Dimensions : allDimensionSets ,
744
+ Dimensions : [ defaultDimensionNames ] ,
793
745
Metrics : metricDefinitions ,
794
746
} ,
795
747
] ,
0 commit comments