aws-cdk-lib.aws_cloudwatch.MetricProps

interface MetricProps

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

Properties for a metric.

Example

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

const metric = new cloudwatch.Metric({
  namespace: 'MyNamespace',
  metricName: 'MyMetric',
  dimensions: { MyDimension: 'MyDimensionValue' },
});
const alarm = new cloudwatch.Alarm(this, 'MyAlarm', {
  metric: metric,
  threshold: 100,
  evaluationPeriods: 3,
  datapointsToAlarm: 2,
});

const topicRule = new iot.TopicRule(this, 'TopicRule', {
  sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id FROM 'device/+/data'"),
  actions: [
    new actions.CloudWatchSetAlarmStateAction(alarm, {
      reason: 'AWS Iot Rule action is triggered',
      alarmStateToSet: cloudwatch.AlarmState.ALARM,
    }),
  ],
});

Properties

NameTypeDescription
metricNamestringName of the metric.
namespacestringNamespace of the metric.
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.

metricName

Type: string

Name of the metric.


namespace

Type: string

Namespace of the metric.


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.