-
Notifications
You must be signed in to change notification settings - Fork 5.7k
feat(outputs): add arc output plugin for high-performance time-series writes #17875
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
sync with main
… writes Adds Arc output plugin - a high-performance time-series database output using MessagePack binary protocol. - MessagePack binary protocol (3-5x faster than line protocol) - Columnar data format for direct Arrow/Parquet writes - Multi-database support for environment/tenant isolation - Gzip compression (reduces bandwidth by ~10x) - Batch processing with configurable sizes - Comprehensive error handling and logging - Columnar format: 2.66x faster than row format - Throughput: 2.42M records/sec - Optimized for high-volume IoT and observability workloads All tests passing (9/9): - Connection handling - Write operations (single/batch) - API key authentication - Error scenarios - MessagePack encoding - Configuration validation - Comprehensive README with examples - Configuration guide for basic/high-performance/multi-database setups - Troubleshooting section - Performance tuning guide
|
Thanks so much for the pull request! |
|
Hey team. I hope that everybody is doing good over there. Happy to contribute with an output plugin. Open to make modifications in the case that I missed something. By the way: !signed-cla Have a great days, folks. |
|
!signed-cla |
Added github.com/vmihailenco/tagparser with BSD 2-Clause License Entries added in alphabetical order between vjeantet/grok and vmware/govmomi Verification ✅ make check-deps now passes successfully across all 18 target platforms (darwin, freebsd, linux, windows on various architectures) All Telegraf CI checks should now pass: ✅ Markdown linting (README.md) ✅ Go code linting (arc.go, arc_test.go) ✅ Dependency license documentation (LICENSE_OF_DEPENDENCIES.md) Modified files ready for commit: plugins/outputs/arc/README.md - All markdown linting issues fixed docs/LICENSE_OF_DEPENDENCIES.md - Added msgpack and tagparser licenses
…oid shadowing the imported config package
|
Download PR build artifacts for linux_amd64.tar.gz, darwin_arm64.tar.gz, and windows_amd64.zip. 📦 Click here to get additional PR build artifactsArtifact URLs |
|
Maybe I'm missing something, but can't you already use |
Yes, it can be used, but the best performance comes from our columnar format. The implementation you're referring to sends row-based data, which introduces conversion overhead when we transform rows to columns. The output send directly the data in columnar format. Let me know if you have additional questions. Thank you |
Summary
Adds Arc output plugin - a high-performance time-series database output using MessagePack binary protocol.
Features
Testing
All tests passing (9/9):
Documentation