Fluent Bit: Extending Your Logging Pipeline with Go
summary
Fluent Bit is extended with Go output plugins to send logs via RFC 5424 syslog; the team builds a C-shared .so via C shared buildmode and implements four exported callbacks register/init/flush/exit. The plugin decodes MessagePack chunks, honors Fluent Bit’s buffering and retry semantics for message reliability, supports multiple instances, and works but duplicates the Go runtime per plugin; proposed fix is a plugin manager using c-archive plus plugin mode to share one runtime and add metrics/versioned ABI.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:32Why Fluent Bit
- 3:44Fluent E vs Fluent D
- 8:55The Logging Pipeline
- 14:23Fluent Bit Internals
- 19:06Go Interface
- 23:06Calling Conventions
- 25:34Multiple Return Values
- 26:11Fluent Bit Go Plugin
- 28:37Future Improvements
- 31:25Go Plugin Support
- 32:48Conclusion
related talks
23mFrom OOP to Go
26mA Fast Structured Logging Package
25mRethinking Data Flow in gRPC-Go: Maximizing Memor...
27mEvolution of serialization formats and usage in Go
30mDynamically Instrumenting Go Programs
46mStructured Logging for the Standard Library
20mStructured Logging for the Standard Library
31mThe Adventurer’s Guide to Forking the Go Runtime
