
= Reduce Functions
:description: Overview of reduce functions in {page-component-title} to use alarm severity information to aggregate business service operational status.

A reduce function uses alarm severity information from the edges to aggregate the operational status for a business service.

[caption=]
.Reduce function options
[cols="1,3"]
|===
| Name  | Description

| Highest Severity
| Uses the value of the highest severity; ignores weight.

| Threshold
| Uses the highest severity found more often than the given threshold.
The value should be a percentage as a decimal (for example, `.26` represents 26%).
This means at least two of four alarms need to be raised to change the business service.

| Highest Severity Above
| Uses the highest severity greater than the given threshold severity.

| Exponential Propagation
| Computes the sum of the given child severities based on a base number.
For this computation, the severities are mapped to numbers: +
WARNING=0, MINOR=1, MAJOR=2, CRITICAL=3 +
All other severities are ignored. +
The aggregation uses a formula to compute the resulting business service severity from its _n_ child entities based on the base number _b_.
The base value defines how many items of a severity _x_ will result in a severity _x+1_.
Results lower than `0` are treated as NORMAL, and results higher than `3` are treated as CRITICAL.
If all input values are of severity INDETERMINATE, the result is INDETERMINATE.
|===

== Threshold example

The following table shows the status calculation with edges assigned to an IP service.
The IP service is driven by the monitoring of the ICMP service for three web servers.
In this example, `Web-ICMP-3` is weighted three times higher than the others with a configured threshold of `0.33` (33%).

[caption=]
.Example status calculation using the threshold function
[options="autowidth"]
|===
| Name  | Weight | Weight Factor | Input Severity | Operational Status | Critical | Major | Minor | Warning | Normal

s| Web-ICMP-1
| 1
| 0.2
| Critical
| Critical
| 0.2
| 0.2
| 0.2
| 0.2
| 0.2

s| Web-ICMP-2
| 1
| 0.2
| Normal
| Normal
| 0
| 0
| 0
| 0
| 0.2

s| Web-ICMP-3
| 3
| 0.6
| Warning
| Warning
| 0
| 0
| 0
| 0.6
| 0.6

s| Total
|
| 1.0
|
|
| 0.2
| 0.2
| 0.2
| 0.8
|  1

s| Percentage
|
| 100%
|
|
| 20%
| 20%
| 20%
| 80%
| 100%
|===

The operational status severity is evaluated from left to right; the first value higher than the configured threshold is used.
In this case, the operational status is set to Warning because the first threshold that exceeds 33% is Warning with 80%.
