Edge Delta Route Processor
3 minute read
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
- For an overview and to understand processor sequence flow, see Processors Overview
- To learn how to configure a processor, see Configure a Processor.
- For optimization strategies, see Best Practices for Edge Delta Processors.
- If you’re new to pipelines, start with the Pipeline Quickstart Overview or learn how to Configure a Pipeline.
- Looking to understand how processors interact with sources and destinations? Visit the Pipeline Overview.