vectordotdev / vectordotdev/vector

Ability to control flow from programmable transforms

Open
#1,942 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

have: nice meta: idea needs: approval needs: requirements transform: lua
Dominant language
Rust
Stars
22.6k
Forks
2.3k
Avg merge
1d 7h
Merged PRs (30d)
146

Description

Something that would be very powerful would be the ability to dynamically define channels from programmable transforms. This would unblock complex control flow logic. For example:

[transforms.control_flow]
  type = "lua"
  source = """
if ... then
  emit(event, 'lane1')
else
  emit(event, 'lane2')
end

This would produce named outputs, similar to the swimlanes transform that could then be connected downstream:

[sinks.first]
  inputs = ["control_flow.lane1"]

[sinks.second]
  inputs = ["control_flow.lane2"]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue mentions programmable transforms, the existing swimlanes transform, and TOML pipeline configuration, but names no source files, tests, or entry points. Start by locating those transform implementations and how named outputs are represented, then define and validate the behavior for dynamically emitted lanes and downstream sink connections.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua, rust
Domain
stream-processing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.