Skip to content

Commit 9b295ed

Browse files
committed
improv(metrics): logMetricsAfterOrError middleware, examples update
1 parent 2b23c86 commit 9b295ed

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

docs/core/metrics.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -462,18 +462,22 @@ CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetr
462462

463463
=== "logMetrics middleware"
464464

465-
```typescript hl_lines="7 9 11 15"
465+
```typescript hl_lines="12 14 15"
466466
import { Metrics, MetricUnits, logMetrics } from '@aws-lambda-powertools/metrics';
467467
import { Context } from 'aws-lambda';
468+
import middy from '@middy/core';
468469

469470
const metrics = new Metrics({namespace:"serverlessAirline", service:"orders"});
470471

471472
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);
477481
}
478482

479483
export const handler = middy(lambdaHandler)
@@ -482,22 +486,24 @@ CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetr
482486

483487
=== "logMetrics decorator"
484488

485-
```typescript hl_lines="9 11 13 15"
489+
```typescript hl_lines="14 16 17"
486490
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';
489492

490493
const metrics = new Metrics({namespace:"serverlessAirline", service:"orders"});
491494

492495
export class MyFunction {
493496

494497
@metrics.logMetrics()
495498
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+
496503
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);
501507
}
502508
}
503509
```

0 commit comments

Comments
 (0)