Skip to content

Repository files navigation

Vector Remap Language (VRL)

Crates.iodocs.rsGitHub 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.

Features

VRL is broken up into multiple components, which can be enabled as needed.

FeatureDefaultDescription
compileryesThe contains the core functionality of VRL. Compiling and running VRL programs.
parseryesCreates an abstract syntax tree (AST) from VRL source code.
valueyesContains the primary data type used in VRL.
diagnosticyesLogic related to errors and displaying info about them.
pathyesContains the parser, datatypes, and functions related to VRL paths.
stdlibyesAll of the VRL functions from the standard library.
coreyesVarious data structures and utility methods (these may be renamed / moved in the future).
datadog_filteryesImplements the Datadog log search query filter syntax.
datadog_grokyesImplements the Datadog grok parser. (used with parse_grok and parse_groks in the stdlib).
datadog_searchyesImplements the Datadog log search syntax.
clinoContains functionality to create a CLI for VRL.
test_frameworknoContains the test framework for testing VRL functions. Useful for testing custom functions.
luanoMakes the Value type compatible with the mlua crate.
arbitrarynoImplements Arbitrary (from the quickcheck crate) for the Value type

Webassembly

All of the core features, and most of the standard library functions can be compiled with the wasm32-unknown-unknown target. There are a few stdlib functions that are unsupported. These will still compile, but abort at runtime.

Unsupported functions:

  • parse_grok
  • parse_groks
  • log
  • get_hostname
  • reverse_dns

About

Vector Remap Language (VRL)

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages