elastic / elastic-agent-shipper

Data shipper for the Elastic Agent - single, unified way to add monitoring for logs, metrics, and other types of data to a host.
Other
9 stars 19 forks source link

Investigate use of vtprotobuf to generate the shipper gRPC API #263

Closed cmacknz closed 1 year ago

cmacknz commented 1 year ago

vtprotobuf is an alternative protobuf compiler that generates highly optimized unmarshalling code. It is an iteration on the widely used but now deprecated https://github.com/gogo/protobuf.

Investigate using the protoc-gen-go-vtproto protoc plugin to generate the code for both the client and server implementations in https://github.com/elastic/elastic-agent-shipper-client.

The outcome of this issue should be a proof of concept demonstrating that we can generate the gRPC code for the shipper using protoc-gen-go-vtproto with a measurable performance improvement over the standard protobuf compiler.

Note: We do not need to use vtprotobuf specifically if there is a better suited alternative that accomplishes the same goal of significantly improving the performance of generated code vs out of the box protoc.

pierrehilbert commented 1 year ago

@cmacknz / @leehinman could we close this one with the new shipper plan?

cmacknz commented 1 year ago

This was done recently as part of https://github.com/elastic/elastic-agent-shipper/issues/288#issuecomment-1532276959.

Closing.