real-logic / aeron

Efficient reliable UDP unicast, UDP multicast, and IPC message transport
Apache License 2.0
7.35k stars 888 forks source link

OpenTelemetry Integration #1582

Closed yafetn closed 4 months ago

yafetn commented 6 months ago

Hello,

Thanks for the recent Wiki updates! I came across this section below in Monitoring & Debugging:

Aeron has been designed in an open fashion so that much of its internal state can be observed during operation. By taking an open approach we hope to simplify this challenge. If you have suggestions for improvements then we would love to hear them. We try to accommodate suggestions that will benefit the Aeron user community provided they do not violate the Design Principles.

I was wondering if adding some sort of OpenTelemetry integration would be worthwhile for Aeron. For context, OTeL is supposed to be the vendor-neutral CNCF-supported framework for generating and collecting metrics, traces, and logs.

One key benefit I can imagine is the ability for users to view the cluster as part of their broader application stack within whatever observability vendor they're using. The Aeron cluster could participate in distributed tracing and, for example, make it easy to visualize a UI client making a call to a gRPC gateway which sends a message to the cluster that finally posts something to a Kafka gateway.

I see AeronStat referenced in the wiki and the Cookbook, but I haven't checked if its output is in a format that'd be compatible for the OTeL components currently.

I'm mainly looking to see if there's even any desire to have this integration in the first place, and I'd be more than happy to contribute towards it.

Thanks!

mjpt777 commented 4 months ago

This is not something we wish to support at present. Telemetry can add a significant performance burden and this goes against the design principles of Aeron.