open-telemetry / open-telemetry/opentelemetry-java-instrumentation
Support Akka/Pekko Cluster
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 1.2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 228
Description
Is your feature request related to a problem? Please describe.
Akka (and its fork Pekko) has the concept of Cluster, or communication between multiple nodes of the same service. OTel is already capable of message propagation through Akka Actors, but the propagation is broken if the message passes to a different node through Akka Remoting, which is what Cluster uses under-the-hood.
Describe the solution you'd like
I'd like to see auto-instrumentation support Akka Remoting.
Describe alternatives you've considered
No response
Additional context
Akka Remoting got a big overhaul starting in Akka 2.6, so 2.5 and lower would either need a separate instrumentation or not be instrumented. As Pekko was forked off 2.6, the Akka 2.6 instrumentation can be copied for Pekko, just renaming the classes.
Also, Kamon's auto-instrumentation agent already supports Akka Remoting, both 2.5 and 2.6. Their code is also open source under the Apache license, so it might be a good starting point to see how they instrumented Remoting to use it as an inspiration for how to instrument it in OTel.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Akka 2.6 instrumentation and Kamon's auto-instrumentation agent, using the linked Akka Remoting documentation to understand the remoting path. Determine the supported Akka and Pekko versions and verify that propagation works when messages cross cluster nodes, including the stated limitations for Akka 2.5 and older.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100