13次重大发布

0.17.0 2024年7月24日
0.16.0 2024年6月6日
0.13.0 2024年3月18日
0.9.1 2023年12月22日
0.5.0 2023年6月28日

#41 in 编程语言

Download history 2170/week @ 2024-05-01 3166/week @ 2024-05-08 2805/week @ 2024-05-15 3505/week @ 2024-05-22 2852/week @ 2024-05-29 2923/week @ 2024-06-05 2926/week @ 2024-06-12 2572/week @ 2024-06-19 2703/week @ 2024-06-26 3858/week @ 2024-07-03 2526/week @ 2024-07-10 2934/week @ 2024-07-17 3242/week @ 2024-07-24 3007/week @ 2024-07-31 2934/week @ 2024-08-07 1777/week @ 2024-08-14

11,644 每月下载量

MPL-2.0 许可证

2.5MB
59K SLoC

向量重映射语言 (VRL)

Crates.io docs.rs GitHub Workflow Status

VRL 是一种用于处理可观察性数据的脚本语言(日志、指标、跟踪)。尽管 VRL 最初是为在 Vector 中使用而创建的,但它被设计成通用且可以在许多环境中重用。

功能

VRL 被分解为多个组件,可以根据需要启用。

功能 默认 描述
编译器 包含 VRL 的核心功能。编译和运行 VRL 程序。
解析器 从 VRL 源代码创建抽象语法树 (AST)。
包含 VRL 中使用的首要数据类型。
诊断 与错误逻辑和显示错误信息相关的逻辑。
路径 包含与 VRL 路径相关的解析器、数据类型和函数。
stdlib 标准库中的所有 VRL 函数。
核心 各种数据结构和实用方法(这些可能在将来被重命名/移动)。
datadog_filter 实现了 Datadog 日志搜索查询过滤器语法。
datadog_grok 实现了 Datadog grok 解析器。(与 stdlib 中的 parse_grokparse_groks 一起使用)。
datadog_search 实现了 Datadog 日志搜索语法。
cli 包含创建 VRL CLI 的功能。
测试框架 包含测试 VRL 函数的测试框架。对于测试自定义函数很有用。
lua 使 Value 类型与 mlua 包兼容。
arbitrary 实现了 Arbitrary(来自 quickcheck 包)对 Value 类型的支持。

Webassembly

所有核心功能和大多数标准库函数都可以使用 wasm32-unknown-unknown 目标进行编译。有一些 stdlib 函数不受支持。这些函数仍然可以编译,但在运行时将终止。

不受支持的函数

  • parse_grok
  • parse_groks
  • log
  • get_hostname
  • reverse_dns

依赖项

~5–43MB
~694K SLoC