@@ -462,18 +462,22 @@ CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetr
462
462
463
463
=== "logMetrics middleware"
464
464
465
- ```typescript hl_lines="7 9 11 15"
465
+ ```typescript hl_lines="12 14 15"
466
466
import { Metrics, MetricUnits, logMetrics } from '@aws-lambda-powertools/metrics';
467
467
import { Context } from 'aws-lambda';
468
+ import middy from '@middy/core';
468
469
469
470
const metrics = new Metrics({namespace:"serverlessAirline", service:"orders"});
470
471
471
472
const lambdaHandler = async (event: any, context: Context) => {
472
- const singleMetric = metrics.singleMetric();
473
- metrics.addDimension('outerDimension', 'true');
474
- singleMetric.addDimension('innerDimension', 'true');
475
- metrics.addMetric('testMetric', MetricUnits.Count, 10);
476
- singleMetric.addMetric('singleMetric', MetricUnits.Percent, 50);
473
+ metrics.addDimension('metricUnit', 'milliseconds');
474
+ // This metric will have the "metricUnit" dimension, and no "metricType" dimension:
475
+ metrics.addMetric('latency', MetricUnits.Milliseconds, 56);
476
+
477
+ const singleMetric = metrics.singleMetric();
478
+ // This metric will have the "metricType" dimension, and no "metricUnit" dimension:
479
+ singleMetric.addDimension('metricType', 'business');
480
+ singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1);
477
481
}
478
482
479
483
export const handler = middy(lambdaHandler)
@@ -482,22 +486,24 @@ CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetr
482
486
483
487
=== "logMetrics decorator"
484
488
485
- ```typescript hl_lines="9 11 13 15 "
489
+ ```typescript hl_lines="14 16 17 "
486
490
import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';
487
- import { Context, Callback } from 'aws-lambda';
488
- import middy from '@middy/core';
491
+ import { Context, Callback } from 'aws-lambda';
489
492
490
493
const metrics = new Metrics({namespace:"serverlessAirline", service:"orders"});
491
494
492
495
export class MyFunction {
493
496
494
497
@metrics.logMetrics()
495
498
public handler<TEvent, TResult>(_event: TEvent, _context: Context, _callback: Callback<TResult>): void | Promise<TResult> {
499
+ metrics.addDimension('metricUnit', 'milliseconds');
500
+ // This metric will have the "metricUnit" dimension, and no "metricType" dimension:
501
+ metrics.addMetric('latency', MetricUnits.Milliseconds, 56);
502
+
496
503
const singleMetric = metrics.singleMetric();
497
- metrics.addDimension('outerDimension', 'true');
498
- singleMetric.addDimension('innerDimension', 'true');
499
- metrics.addMetric('testMetric', MetricUnits.Count, 10);
500
- singleMetric.addMetric('singleMetric', MetricUnits.Percent, 50);
504
+ // This metric will have the "metricType" dimension, and no "metricUnit" dimension:
505
+ singleMetric.addDimension('metricType', 'business');
506
+ singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1);
501
507
}
502
508
}
503
509
```
0 commit comments