aws-cdk-lib.aws_cloudwatch.MetricOptions

interface MetricOptions

LanguageType name
.NETAmazon.CDK.AWS.CloudWatch.MetricOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awscloudwatch#MetricOptions
Javasoftware.amazon.awscdk.services.cloudwatch.MetricOptions
Pythonaws_cdk.aws_cloudwatch.MetricOptions
TypeScript (source)aws-cdk-lib » aws_cloudwatch » MetricOptions

Properties of a metric that can be changed.

Example

import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';

declare const deliveryStream: firehose.DeliveryStream;

// Alarm that triggers when the per-second average of incoming bytes exceeds 90% of the current service limit
const incomingBytesPercentOfLimit = new cloudwatch.MathExpression({
  expression: 'incomingBytes / 300 / bytePerSecLimit',
  usingMetrics: {
    incomingBytes: deliveryStream.metricIncomingBytes({ statistic: cloudwatch.Statistic.SUM }),
    bytePerSecLimit: deliveryStream.metric('BytesPerSecondLimit'),
  },
});

new cloudwatch.Alarm(this, 'Alarm', {
  metric: incomingBytesPercentOfLimit,
  threshold: 0.9,
  evaluationPeriods: 3,
});

Properties

NameTypeDescription
account?stringAccount which this metric comes from.
color?stringThe hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The Color class has a set of standard colors that can be used here.
dimensionsMap?{ [string]: string }Dimensions of the metric.
label?stringLabel for this metric when added to a Graph in a Dashboard.
period?DurationThe period over which the specified statistic is applied.
region?stringRegion which this metric comes from.
statistic?stringWhat function to use for aggregating.
unit?UnitUnit used to filter the metric stream.

account?

Type: string (optional, default: Deployment account.)

Account which this metric comes from.


color?

Type: string (optional, default: Automatic color)

The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The Color class has a set of standard colors that can be used here.


dimensionsMap?

Type: { [string]: string } (optional, default: No dimensions.)

Dimensions of the metric.


label?

Type: string (optional, default: No label)

Label for this metric when added to a Graph in a Dashboard.

You can use dynamic labels to show summary information about the entire displayed time series in the legend. For example, if you use:

[max: ${MAX}] MyMetric

As the metric label, the maximum value in the visible range will be shown next to the time series name in the graph's legend.


period?

Type: Duration (optional, default: Duration.minutes(5))

The period over which the specified statistic is applied.


region?

Type: string (optional, default: Deployment region.)

Region which this metric comes from.


statistic?

Type: string (optional, default: Average)

What function to use for aggregating.

Use the aws_cloudwatch.Stats helper class to construct valid input strings.

Can be one of the following:

  • "Minimum" | "min"
  • "Maximum" | "max"
  • "Average" | "avg"
  • "Sum" | "sum"
  • "SampleCount | "n"
  • "pNN.NN"
  • "tmNN.NN" | "tm(NN.NN%:NN.NN%)"
  • "iqm"
  • "wmNN.NN" | "wm(NN.NN%:NN.NN%)"
  • "tcNN.NN" | "tc(NN.NN%:NN.NN%)"
  • "tsNN.NN" | "ts(NN.NN%:NN.NN%)"

unit?

Type: Unit (optional, default: All metric datums in the given metric stream)

Unit used to filter the metric stream.

Only refer to datums emitted to the metric stream with the given unit and ignore all others. Only useful when datums are being emitted to the same metric stream under different units.

The default is to use all matric datums in the stream, regardless of unit, which is recommended in nearly all cases.

CloudWatch does not honor this property for graphs.