MathExpressionProps
- class aws_cdk.aws_cloudwatch.MathExpressionProps(*, color=None, label=None, period=None, search_account=None, search_region=None, expression, using_metrics=None)
Bases:
MathExpressionOptions
Properties for a MathExpression.
- Parameters:
color (
Optional
[str
]) – Color for this metric when added to a Graph in a Dashboard. Default: - Automatic colorlabel (
Optional
[str
]) – Label for this expression when added to a Graph in a Dashboard. If this expression evaluates to more than one time series (for example, through the use ofMETRICS()
orSEARCH()
expressions), each time series will appear in the graph using a combination of the expression label and the individual metric label. Specify the empty string (''
) to suppress the expression label and only keep the metric label. You can use dynamic labels to show summary information about the 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. If the math expression produces more than one time series, the maximum will be shown for each individual time series produce by this math expression. Default: - Expression value is used as labelperiod (
Optional
[Duration
]) – The period over which the expression’s statistics are applied. This period overrides all periods in the metrics used in this math expression. Default: Duration.minutes(5)search_account (
Optional
[str
]) – Account to evaluate search expressions within. Specifying a searchAccount has no effect to the account used for metrics within the expression (passed via usingMetrics). Default: - Deployment account.search_region (
Optional
[str
]) – Region to evaluate search expressions within. Specifying a searchRegion has no effect to the region used for metrics within the expression (passed via usingMetrics). Default: - Deployment region.expression (
str
) – The expression defining the metric. When an expression contains a SEARCH function, it cannot be used within an Alarm.using_metrics (
Optional
[Mapping
[str
,IMetric
]]) – The metrics used in the expression, in a map. The key is the identifier that represents the given metric in the expression, and the value is the actual Metric object. Theperiod
of each metric inusingMetrics
is ignored and instead overridden by theperiod
specified for theMathExpression
construct. Even if noperiod
is specified for theMathExpression
, it will be overridden by the default value (Duration.minutes(5)
). Example:: declare const metrics: elbv2.IApplicationLoadBalancerMetrics; new cloudwatch.MathExpression({ expression: ‘m1+m2’, label: ‘AlbErrors’, usingMetrics: { m1: metrics.custom(‘HTTPCode_ELB_500_Count’, { period: Duration.minutes(1), // <- This period will be ignored statistic: ‘Sum’, label: ‘HTTPCode_ELB_500_Count’, }), m2: metrics.custom(‘HTTPCode_ELB_502_Count’, { period: Duration.minutes(1), // <- This period will be ignored statistic: ‘Sum’, label: ‘HTTPCode_ELB_502_Count’, }), }, period: Duration.minutes(3), // <- This overrides the period of each metric in usingMetrics // (Even if not specified, it is overridden by the default value) }); Default: - Empty map.
- ExampleMetadata:
infused
Example:
# matchmaking_rule_set: gamelift.MatchmakingRuleSet # Alarm that triggers when the per-second average of not placed matches exceed 10% rule_evaluation_ratio = cloudwatch.MathExpression( expression="1 - (ruleEvaluationsPassed / ruleEvaluationsFailed)", using_metrics={ "rule_evaluations_passed": matchmaking_rule_set.metric_rule_evaluations_passed(statistic=cloudwatch.Statistic.SUM), "rule_evaluations_failed": matchmaking_rule_set.metric("ruleEvaluationsFailed") } ) cloudwatch.Alarm(self, "Alarm", metric=rule_evaluation_ratio, threshold=0.1, evaluation_periods=3 )
Attributes
- color
Color for this metric when added to a Graph in a Dashboard.
- Default:
Automatic color
- expression
The expression defining the metric.
When an expression contains a SEARCH function, it cannot be used within an Alarm.
- label
Label for this expression when added to a Graph in a Dashboard.
If this expression evaluates to more than one time series (for example, through the use of
METRICS()
orSEARCH()
expressions), each time series will appear in the graph using a combination of the expression label and the individual metric label. Specify the empty string (''
) to suppress the expression label and only keep the metric label.You can use dynamic labels to show summary information about the 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. If the math expression produces more than one time series, the maximum will be shown for each individual time series produce by this math expression.
- Default:
Expression value is used as label
- period
The period over which the expression’s statistics are applied.
This period overrides all periods in the metrics used in this math expression.
- Default:
Duration.minutes(5)
- search_account
Account to evaluate search expressions within.
Specifying a searchAccount has no effect to the account used for metrics within the expression (passed via usingMetrics).
- Default:
Deployment account.
- search_region
Region to evaluate search expressions within.
Specifying a searchRegion has no effect to the region used for metrics within the expression (passed via usingMetrics).
- Default:
Deployment region.
- using_metrics
The metrics used in the expression, in a map.
The key is the identifier that represents the given metric in the expression, and the value is the actual Metric object.
The
period
of each metric inusingMetrics
is ignored and instead overridden by theperiod
specified for theMathExpression
construct. Even if noperiod
is specified for theMathExpression
, it will be overridden by the default value (Duration.minutes(5)
).Example:
# metrics: elbv2.IApplicationLoadBalancerMetrics cloudwatch.MathExpression( expression="m1+m2", label="AlbErrors", using_metrics={ "m1": metrics.custom("HTTPCode_ELB_500_Count", period=Duration.minutes(1), # <- This period will be ignored statistic="Sum", label="HTTPCode_ELB_500_Count" ), "m2": metrics.custom("HTTPCode_ELB_502_Count", period=Duration.minutes(1), # <- This period will be ignored statistic="Sum", label="HTTPCode_ELB_502_Count" ) }, period=Duration.minutes(3) )
- Default:
Empty map.