elastic / go-lumber

Go based lumberjack client and server implementation.
Apache License 2.0
55 stars 36 forks source link

Server-side pipelining #23

Open stefanba3 opened 3 years ago

stefanba3 commented 3 years ago

Hi, I am using go-lumber to write a server that can process some beats logs. I found that my server was only processing one batch per lj connection at a time. I was able to get concurrent batches by making DefaultHandler's ack-signaling channel buffered, so we don't block here when there is an outstanding un-ACKed batch. Is there a chance we can get something like that? I'd be happy to work on a PR if it helps the cause!

stefanba3 commented 3 years ago

Something like this is what I have in mind, and is working well for me.