vectordotdev/vrl

Vector Remap Language

Rust

245

10,116 commits

updated Sep 21, 2026

See the code

README

Vector Remap Language (VRL)

Crates.io docs.rs GitHub Workflow Status

VRL is a scripting language for processing observability data (logs, metrics, traces). Although VRL was originally created for use in Vector, it was designed to be generic and re-usable in many contexts.

VRL is designed around two core principles:

  • Safety — programs won't compile unless all errors from fallible functions are explicitly handled, eliminating unexpected runtime failures.
  • Performance — programs are compiled at startup and run with near-native performance, with no garbage collection or runtime overhead.

VRL is stateless and expression-oriented, each program processes a single event and every expression returns a value.

VRL is maintained by Datadog's Community Open Source Engineering team.

WebAssembly

VRL can be compiled with the wasm32-unknown-unknown target:

cargo check --target wasm32-unknown-unknown --no-default-features --features stdlib

Most stdlib functions are supported. The following functions compile but abort at runtime due to platform limitations (I/O, system calls, or native dependencies):

  • dns_lookup
  • get_hostname
  • http_request
  • log
  • parse_grok
  • parse_groks
  • reverse_dns
  • validate_json_schema

Note: the grok parser within the datadog feature is excluded entirely when targeting wasm32.

Contributors

(top 30 of 360)

dependabot[bot]

2,220 commits

binarylogic

1,240 commits

jszwedko

1,100 commits

bruceg

523 commits

vectordotdev/vrl

Vector Remap Language

Rust

245

10,116 commits

updated Sep 21, 2026

See the code

README

Vector Remap Language (VRL)

Crates.io docs.rs GitHub Workflow Status

VRL is a scripting language for processing observability data (logs, metrics, traces). Although VRL was originally created for use in Vector, it was designed to be generic and re-usable in many contexts.

VRL is designed around two core principles:

  • Safety — programs won't compile unless all errors from fallible functions are explicitly handled, eliminating unexpected runtime failures.
  • Performance — programs are compiled at startup and run with near-native performance, with no garbage collection or runtime overhead.

VRL is stateless and expression-oriented, each program processes a single event and every expression returns a value.

VRL is maintained by Datadog's Community Open Source Engineering team.

WebAssembly

VRL can be compiled with the wasm32-unknown-unknown target:

cargo check --target wasm32-unknown-unknown --no-default-features --features stdlib

Most stdlib functions are supported. The following functions compile but abort at runtime due to platform limitations (I/O, system calls, or native dependencies):

  • dns_lookup
  • get_hostname
  • http_request
  • log
  • parse_grok
  • parse_groks
  • reverse_dns
  • validate_json_schema

Note: the grok parser within the datadog feature is excluded entirely when targeting wasm32.

Contributors

(top 30 of 360)

dependabot[bot]

2,220 commits

binarylogic

1,240 commits

jszwedko

1,100 commits

bruceg

523 commits

Languages

Rust

99.8%