MetricNode
MetricNode is the runtime calculator that MetricsManager creates for every matched Metric in MetricDefinition. Users do not add MetricNode manually; it appears under the manager's MetricNodes folder with a name composed from Metric.NodeNameFlags when those flags are set, or from the resolved auto-naming logic when NodeNameFlags is 0.
What It Represents
- One MetricNode per measure group (or one per Metric for Aggregate OR/AND).
- Carries resolved Measure, Enable, Block, and Reset paths plus the math engine selected by Metric.MeasureType.
- Based on the resolved Measure, Enable, Block, and Reset paths data channels are created to feed data to the math engine selected by Metric.MeasureType.
- Exposes calculated properties (counters, hours, deltas, statistics) and virtual tags derived from Measure/Require tags for sinks.
- Tracks processing watermark with LastProcessedTimestamp when a DataSource replays history.
Runtime Attributes
- GroupParent: shared parent path of the measure group.
- MeasurePaths: semicolon list of bound measure value paths.
- EnablePaths / BlockPaths / ResetPaths: resolved control paths.
- MeasureType: numeric code of the math engine (see below).
- Histogram / BinSize / BinCount / BinOffset: histogram enablement and layout.
- StartBound / EndBound / Threshold: math options propagated from the owning Metric.
- MeasureTag: tag name attached to auto-generated metric properties.
- GroupPathTag: tag name attached to the virtual tag carrying the resolved GroupParent path.
- LastProcessedTimestamp: watermark for historical processing.
- Count / LastValue / LastState / Hysteresis: Basic Counter state.
- Hours / LastTime / LastActive: Hour Counter state.
- SumDelta / LastValueValid: Delta Counter state.
- Min / Max / Mean / Std / M2 / Samples: Statistics state.
- AggregateActive: Aggregate OR/AND result.
- Histogram (element): per-bin values when histogram is enabled.
- Tags (element): virtual tags mirrored to sinks (Measure, Require, and GroupParent path tags).
Math Outputs By MeasureType
All math types respect Enable/Block gating (true when Enable is true or absent and Block is false) and process Reset as a rising edge. Threshold affects control truth conversion and math-specific comparisons as noted.
- 0 - None: stores the latest sample per Measure channel into dynamic properties named from Measure labels. No flush on sample; histogram is optional. Ignores Count/Hours/Delta/Stats/Aggregate properties.
- 1 - Passthrough: same as None, but requests DataSink flush per sample when logging flags allow. Ignores Count/Hours/Delta/Stats/Aggregate properties.
- 2 - Basic Counter: counts rising edges over Threshold on the first Measure channel while enabled. Uses Count, LastValue, LastState, Hysteresis; honors StartBound/EndBound for clamping. Ignores Hours, SumDelta, Stats, AggregateActive.
- 3 - Hour Counter: accumulates Hours using timestamp deltas while the Measure is true over Threshold and enabled. Uses LastTime, LastActive, StartBound/EndBound; ignores Count, SumDelta, Stats, AggregateActive.
- 4 - Delta Counter: sums absolute value deltas that exceed Threshold while enabled. Uses SumDelta, LastValue, LastValueValid, StartBound/ EndBound; ignores Count, Hours, Stats, AggregateActive.
- 5 - Statistics: tracks Min, Max, Mean, Std, M2, Samples over enabled numeric samples. Threshold only affects control truth conversion; ignores StartBound/EndBound, Count, Hours, SumDelta, AggregateActive.
- 6 - Aggregate OR: AggregateActive becomes true when any Measure channel is true over Threshold and enabled. Ignores Count, Hours, SumDelta, Stats, StartBound/EndBound.
- 7 - Aggregate AND: AggregateActive is true only when all Measure channels are true over Threshold and enabled. Ignores Count, Hours, SumDelta, Stats, StartBound/EndBound.
- 8 - Custom: properties depend on the CustomMetricMath child placed under Metric.MetricMath. Enable/Block/Reset still gate processing; histogram is available via the factory if requested.
Controls, Logging, and Histogram
- Enable/Block/Reset paths come from MetricControl tags; their resolved values gate math and determine Reset edges.
- LoggingFlags from the Metric decide when samples are flushed to the DataSink (every sample, on Enable/Block edges, or before Reset).
- NodeNameFlags on the Metric decide whether the runtime MetricNode name uses auto naming or an explicit composition of Metric, source, Require, Measure and count parts.
- Histogram options apply to all math types; with one Measure channel, the histogram tracks time-in-bin, with two it uses the second channel as the bin weight/time.
- Measure labels are sanitized and used as property names for Measure channels created by passthrough math.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.