Skip to content

perf(vrl): adapt Vector to VRL ObjectMap#25649

Closed
lukesteensen wants to merge 6 commits into
vectordotdev:masterfrom
lukesteensen:experiment/vrl-objectmap-adaptation
Closed

perf(vrl): adapt Vector to VRL ObjectMap#25649
lukesteensen wants to merge 6 commits into
vectordotdev:masterfrom
lukesteensen:experiment/vrl-objectmap-adaptation

Conversation

@lukesteensen

Copy link
Copy Markdown
Member

Summary

Adapts Vector to the experimental VRL ObjectMap work by replacing direct
BTreeMap assumptions with ObjectMap-compatible construction and iteration
patterns.

VRL dependency used for this draft:

Commit structure

The main ObjectMap work is isolated in:

  • refactor: adapt Vector to VRL ObjectMap
  • chore: use git VRL ObjectMap dependency

This branch also includes two small test fixes that were discovered while
testing the ObjectMap changes locally, but are otherwise unrelated to ObjectMap:

  • test(codecs): avoid mutating global log schema in syslog tests

    • Avoids syslog tests mutating global log_schema state, which can pollute
      other tests depending on execution order.
  • test(vector-core): keep empty DDSketch fixtures canonical

    • Avoids generating non-canonical empty DDSketch fixtures, which can fail
      round-trip expectations.

Benchmark support is included separately in:

  • chore(bench): add ObjectMap benchmark helpers

Validation

Passed:

  • cargo fmt --all -- --check
  • cargo check --workspace --all-targets --all-features --locked
  • make check-clippy
  • cargo test -p vector-core --all-features --lib --locked
  • cargo test -p codecs --all-features --lib --locked
  • targeted Vector tests around map conversion, HTTP headers, and sink encoding
  • targeted VRL object_map tests

Benchmark sanity check:

  • Case: datadog_agent_remap_blackhole
  • Current btree -> current flat: +24.43%
  • Short local run: --replicates 1 --total-samples 60 --warmup-seconds 15

@github-actions github-actions Bot added docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain: sources Anything related to the Vector's sources domain: transforms Anything related to Vector's transform components domain: sinks Anything related to the Vector's sinks domain: core Anything related to core crates i.e. vector-core, core-common, etc labels Jun 18, 2026
@datadog-vectordotdev

Copy link
Copy Markdown

Pipelines

⚠️ Warnings

🚦 1 Pipeline job failed

PR Title Check | Check PR Title   View in Datadog   GitHub Actions

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: abdc43a | Docs | Give us feedback!

@lukesteensen lukesteensen changed the title Draft: adapt Vector to VRL ObjectMap perf: adapt Vector to VRL ObjectMap Jun 26, 2026
@lukesteensen lukesteensen changed the title perf: adapt Vector to VRL ObjectMap perf(vrl): adapt Vector to VRL ObjectMap Jun 26, 2026
@lukesteensen

Copy link
Copy Markdown
Member Author

Superseded by #25697, which uses the upstream vectordotdev/vector branch now that push access is available.

@github-actions github-actions Bot locked and limited conversation to collaborators Jun 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain: core Anything related to core crates i.e. vector-core, core-common, etc domain: sinks Anything related to the Vector's sinks domain: sources Anything related to the Vector's sources domain: transforms Anything related to Vector's transform components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant