Edge Delta Route Processor

The Edge Delta route processor enables conditional routing of log data through user-defined paths.

Overview

The Route (OTTL) node enables conditional routing of log data through user-defined paths based on OTTL expressions. Each path acts as a logical branch that receives items matching a specific condition.

You can view the output of each path in Live Capture:

Note: This processor replaces the legacy route node.

Configuration

You can define multiple paths, each with a condition and optional Stop If Matched control. Items that meet a condition will be routed to the corresponding subpath for downstream processing.

nodes:
- name: route_ottl_a72f
  type: route_ottl
  paths:
  - path: Frontend-Proxy
    condition: resource["service.name"] == "frontend-proxy"
    exit_if_matched: true
  - path: Ad
    condition: resource["service.name"] == "ad"
    exit_if_matched: true

Options

Path

Define the name for the path that data items will be routed to if they match the path’s condition. Each path must include a condition.

paths:
- path: type_1_items
  condition: attributes["value"] == "1"

A default unmatched path in configured for items that don’t match any path.

condition

The condition parameter contains a conditional phrase of an OTTL statement. It defines the matching criteria for data items to be routed on the path. You configure it in the interface and an OTTL condition is generated. It is required. You can select one of the following operators:

Operator Name Description Example
== Equal to Returns true if both values are exactly the same attributes["status"] == "OK"
!= Not equal to Returns true if the values are not the same attributes["level"] != "debug"
> Greater than Returns true if the left value is greater than the right attributes["duration_ms"] > 1000
>= Greater than or equal Returns true if the left value is greater than or equal to the right attributes["score"] >= 90
< Less than Returns true if the left value is less than the right attributes["load"] < 0.75
<= Less than or equal Returns true if the left value is less than or equal to the right attributes["retries"] <= 3
matches Regex match Returns true if the string matches a regular expression isMatch(attributes["name"], ".*\\.name$"
nodes:
- name: route_ottl_a72f
  type: route_ottl
  paths:
  - path: Frontend-Proxy
    condition: resource["service.name"] == "frontend-proxy"

Stop If Matched

Optional boolean value. If true, no further paths are evaluated once a match occurs for a path. Defaults to true.

nodes:
- name: route_ottl_a72f
  type: route_ottl
  paths:
  - path: Frontend-Proxy
    condition: resource["service.name"] == "frontend-proxy"
    exit_if_matched: true

Routing and Linking

Wire each defined path to a destination or downstream processor:

Use the links block to wire each defined path to a destination processor.

links:
- from: route_ottl_a72f
  path: unmatched
  to: destination001
- from: route_ottl_a72f
  path: Frontend-Proxy
  to: destination002
- from: route_ottl_a72f
  path: Ad
  to: destination003

See Also

See Also