Canvas & pipelines
Place and connect components, and organize them into pipelines.
The canvas is a graph editor. Components are nodes, and connections are edges. A connected chain of receivers, processors, and exporters forms a pipeline.
Work on the canvas
| Action | How |
|---|---|
| Add a component | Drag it from the palette onto the canvas. |
| Move a node | Drag the node. |
| Connect two nodes | Drag from a source node's output handle to a target node's input handle. |
| Select | Select a node or edge. |
| Multi-select | Shift-select multiple nodes. |
| Pan | Drag on empty canvas space. |
| Zoom | Scroll, or use the on-canvas controls. |
Toolbar actions for the canvas:
- Duplicate copies the selected nodes. Shortcut: Ctrl/Cmd+D.
- Delete removes the selected nodes. Shortcut: Delete or Backspace.
- Undo and Redo step through canvas changes. Shortcuts: Ctrl/Cmd+Z and Ctrl/Cmd+Shift+Z.
Clear canvas, which removes all components, is in the action cluster at the canvas's top right, next to Add pipeline.
Connection rules
Telflo enforces the collector's connection rules as you draw edges.
- A receiver has outgoing connections only.
- An exporter has incoming connections only.
- A processor has incoming and outgoing connections. Several receivers can feed one processor, and one processor can feed several exporters.
- A connector has both, in two different pipelines. The
routingconnector is the exception on its outgoing side: you draw its incoming connection, and its target pipelines come from its configuration. - An extension has no connections.
Invalid connections are refused as you draw them. See Validation.
Pipelines
A pipeline carries one signal type through a chain of components. Telflo supports the three OpenTelemetry signal types and custom-named pipelines.
traces,metrics, andlogs- Custom names, such as
traces/production,metrics/staging, orlogs/audit
Edges define pipeline membership
Pipelines are defined by the edges you draw, not by the nodes alone.
- Each edge belongs to one pipeline.
- A single node, such as a shared
batchprocessor, can belong to several pipelines. - Each pipeline is color-coded on the canvas.
- The
routingconnector's outgoing route edges are the exception: they are derived from its configuration, not drawn. See Route with the routing connector.
Connect pipelines with a connector
A connector is the exporter of one pipeline and the receiver of another. It can change the signal type in between: the spanmetrics connector ends a traces pipeline and starts a metrics pipeline. It can also keep the signal type: the forward connector merges several same-signal pipelines into one, or fans one pipeline out into many, and the routing connector sends telemetry to different same-signal pipelines based on OTTL conditions. Neither forward nor routing can change the signal type; validation reports a connection across different signal types.
For spanmetrics and forward, the target pipeline is decided by the edge you draw out of the connector. The routing connector works differently, as described next.
Route with the routing connector
The routing connector sends telemetry to different pipelines of the same signal type based on an ordered table of OTTL conditions. Its target pipelines are part of its configuration, not the graph, because the collector YAML names them in the route table as well as in each target pipeline's receivers, and the two must agree.
- Draw the incoming connection into the connector as usual. The connector's output handle cannot be dragged.
- Select the connector. For each route, choose its Target Pipelines, and under Fallback & Errors choose the Default Pipelines for telemetry that matches no route. The dropdowns list the canvas's pipelines of the connector's signal type, excluding the pipelines that feed it.
Telflo draws a dashed, read-only route edge from the connector to each target pipeline, with a chip such as 1 route + default or 2 routes showing why the pipeline is targeted, and moves target pipelines to the connector's right so routes read left to right. Route edges cannot be selected or deleted and are not part of the undo history. In the generated YAML, the connector is listed under each target pipeline's receivers automatically.
Telemetry that matches no route goes to the default pipelines, or is dropped when none are set; the form warns when no default pipelines are configured. If a target pipeline is later renamed or deleted, the dropdown shows it as (not found) until you pick a pipeline again. A configuration saved before this behavior, with an outgoing edge drawn from a routing connector, no longer shows that edge; its targets come from the connector's configuration.
Manage pipelines
Select Add pipeline on the canvas to create a pipeline; the Add New Pipeline dialog takes the Pipeline Name and detects the signal type from it. Select a pipeline's group on the canvas to open its panel, which shows its Signal Type, lets you pick its Color, and has a Delete pipeline button. Deleting a pipeline removes the components inside it and their connections.
Connected components appear under service.pipelines in the generated YAML. A pipeline's name there, such as logs/audit, is how a pipeline test targets it: the Testing tab offers the canvas's pipelines in its Test Pipeline dropdown, and a CLI test spec names one in its pipeline field. A CLI or API run that names a pipeline the YAML does not have is refused with the list of pipelines it does have.
Next steps
Configure each component in the configuration panel. See Configuring components.
Last updated on