External libraries
External libraries embedded in Fluent Bit
Fluent Bit embeds several external libraries in its /lib directory. These libraries are included to minimize external dependencies and maximize cross-platform compatibility.
Core fluent libraries
These libraries are developed and maintained by the Fluent Bit team:
Common data structures (strings, lists, key-value pairs, arrays, variants, time utilities, hashing) used across Fluent Bit and related projects.
Apache 2.0
Manages chunks of data in the file system for buffering. Handles memory-mapped I/O with optional CRC32 checksums for data integrity. Powers filesystem buffering for Fluent Bit.
Apache 2.0
Creates and manages metrics (counters, gauges, histograms, summaries) with label support. Based on Go Prometheus Client API design.
Apache 2.0
Creates and manages trace contexts with encoding/decoding support for OpenTelemetry and other formats.
Apache 2.0
Provides C interfaces for OpenTelemetry protocol buffer definitions (common, resource, trace, logs, metrics).
Apache 2.0
HTTP and networking
Fast, lightweight HTTP server providing the embedded web server HTTP endpoints (health checks, metrics, and so on) for Fluent Bit.
Apache 2.0
Modern asynchronous DNS resolver library. Enables non-blocking DNS queries for network operations.
Massachusetts Institute of Technology (MIT)
HTTP/2 C library implementing the framing layer. Enables HTTP/2 client and server capabilities.
Massachusetts Institute of Technology (MIT)
Data serialization and parsing
MessagePack serialization library. Used for internal data format for records in Fluent Bit.
Boost 1.0
JSON encoding, decoding, and manipulation with full Unicode support.
Massachusetts Institute of Technology (MIT)
High-performance JSON library capable of processing gigabytes per second. Used for fast JSON operations.
Massachusetts Institute of Technology (MIT)
Minimalistic JSON parser (~200 lines of code). Zero-copy, no dynamic allocation.
Massachusetts Institute of Technology (MIT)
Text processing
Regular expression library (fork of Oniguruma). Supports Perl 5.10+ expressions like \K, \R, and conditional patterns. Default regular expression engine for Ruby 2.0+.
BSD
Tiny UTF-8 encoder supporting ISO-8859-x and Windows-125x character set conversions.
Massachusetts Institute of Technology (MIT)
Compression
Scripting and webassembly
Just-in-time (JIT) compiler for Lua. Powers the Lua filter plugin for custom record processing.
Massachusetts Institute of Technology (MIT)
WebAssembly Micro Runtime from the Bytecode Alliance. Enables WASM filter plugins and WASM input plugins. Supports interpreter, AOT, and JIT execution modes.
Apache 2.0
Integration libraries
Apache Kafka C/C++ client library. Enables the Kafka input and Kafka output plugins. Supports producer, consumer, and admin clients with high performance (millions of messages/second).
BSD-2
Storage and utilities
General-purpose memory allocator emphasizing fragmentation avoidance and scalable concurrency. Optional alternative to system malloc.
BSD-2
Lightweight ring buffer implementation. Thread-safe FIFO buffer with zero-copy DMA support.
Massachusetts Institute of Technology (MIT)
Version information
When Fluent Bit starts, it logs the versions of key libraries. For example, as of Fluent Bit 4.2:
[2025/01/15 10:30:00] [ info] [chunkio ] version=1.5.4
[2025/01/15 10:30:00] [ info] [ctraces ] version=1.0.5
[2025/01/15 10:30:00] [ info] [monkey ] version=1.8.5
[2025/01/15 10:30:00] [ info] [wamr ] version=2.4.1Build options
Some libraries are optional and can be enabled or disabled at build time:
FLB_WAMRC
WAMR AOT compiler
Off
FLB_LUAJIT
LuaJIT
On
FLB_OUT_KAFKA
librdkafka
Off
FLB_JEMALLOC
jemalloc
Off (platform dependent)
For more information on build options, see Build and install.
Last updated
Was this helpful?