vectordotdev / vectordotdev/vector
Ability to control flow from programmable transforms
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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