-
Notifications
You must be signed in to change notification settings - Fork 2
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
Akka tracing instrumentation #1
Comments
From @ShaneDelmore on June 29, 2017 16:3 @adriancole Kamon committers @dpsoft and @ivantopo have also done some work in this area and I believe are desiring to stay compatible. |
From @LarryFinn on June 29, 2017 16:16 @adriancole i think it would be nice. i couldn't fully use the play-zipkin-tracing lib because of compatibility issues and im pretty sure it doesn't automatically pass the traceid between futures via the default dispatcher or default execution context. the akka-thread-context partially solves this but doesnt solve the problem of the default execution context. or maybe i did something wrong... |
Whatever fills the akka need, if it employs the CurrentTraceContext (directly or indirectly via Tracer.withSpanInScope), it could automagically integrate with SLF4J or Finagle's context synchronization libraries. |
From @andersenleo on July 6, 2017 8:5 We built our Akka tracing to avoid any explicit, hard-coded, tracing in application code. Since we're in control over the entire stack our solution isn't easily portable to a generic "library". Note that it's currently based on the Brave3 API. I'll try to describe it anyway - hoping that it can be partially reusable :-) All our actors extends a common super-class. And we've got a central factory where The mailbox queue will intercept all messages enqueued and wrap the message in a Our custom super-class will handle all incoming This works in most cases - but some of akkas internal actors uses mailboxes/message-queues that don't enqueue on the same thread as the sender - and in that case there is no tracing context available. This is no big deal for us since we're only interested in tracing application level actors. Somewhere in the future we'll look into migrating to Brave4 - but we're not there yet. |
From @dpsoft on July 6, 2017 16:21 Hi, we already went through the process of making our tracer a OpenTracing compliant one, but that is not quite the same as Brave ... if you have are using Kamon you will be able to capture the trace data and send it to Zipkin and benefit from all available instrumentation in Kamon + any Opentracting instrumentation out there, but we think Zipkin/Brave are another world. Anyway, If they are curious about the |
Curious.. I don't see any opentracing types in kamon or kamon-akka. It
This isn't opentracing, but it is helpful as your tracer api is very |
From @dpsoft on July 7, 2017 11:52 @adriancole plese take a look to kamon-core in the branch |
thx @ivantopo pointed it out to me a little while ago, too |
long discussion on gitter and seems one supportable route would be to enhance the existing play library. Here's a tracking issue: openzipkin-contrib/play-zipkin-tracing#21 This wouldn't preclude any other options including the upcoming work in kamon (there is more than one answer sometimes: that's ok as long as at least one is maintained!) |
From @llinder on November 5, 2017 16:17 This is something I've been interested in using for some time. I'm primarily interested in Akka HTTP but having comprehensive tracing support for Scala Future/ExecutionContext, Akka and Akka HTTP would be really nice. I honestly haven't looked at bizreach/play-zipkin-tracing, mostly because it sounds focused entirely on the Play framework but maybe that isn't the case? Anyway, I'm going to try and must up some spare cycles to catch up on Akka instrumentation and hopefully contribute were there are gaps. |
it definitely started as this. One thing to consider is that @takezoe is
Very excited and grateful |
From @asereda-gs on February 1, 2018 19:49 Some people mentioned libraries which are using code instrumentation / byte-code modification to achieve tracing (and telemetry) of akka: The reason I prefer this technique is because it is more transparent and less intrusive than modifying all existing code ( What people in this group think about it ? I'm trying to develop a solution which doesn't impose code modification nor use of java agents (custom Mailboxes / ActorRefProviders etc.) will let you know if it succeeds |
From @LarryFinn on February 1, 2018 20:54 i've been silent on this thread (sorry). i tend to find code instrumentation via java agent to be a bit worrisome in production. i've seen some tools actually cause the JVM to crash, which is pretty bad. |
From @asereda-gs on February 8, 2018 16:50 After talking to @adriancole and @takezoe we'll try to explore some ideas in separate repository created under openzipkin-contrib. Contributors are welcome. |
ok I opened https://github.com/openzipkin-contrib/brave-akka, adding @asereda-gs and @takezoe as write with @llinder as admin (as he is very familiar with our release processes etc) Keep us posted! |
From @jkubrynski on March 6, 2018 23:37 Why is this issue closed as it's not fixed? |
@jkubrynski the issue was moved here |
From @adriancole on June 29, 2017 8:13
Historically, https://github.com/levkhomich/akka-tracing has been the answer for akka in zipkin. This project has recently gone quiet, which has impacted users looking for a solution. It would be great for this project to pick-up again, and likely that would imply multiple owners so that the same doesn't recur.
Meanwhile, there are some other works related to akka tracing on github:
There have been zipkin users spending time with mixed success with a goal of tracing akka, which is the motivation of this issue. Notably, @metamorph @kriloleg @tsteff @capitanbatata @ShaneDelmore @andersenleo @lawrencefinn. Those using play often ended using @takezoe's https://github.com/bizreach/play-zipkin-tracing for a combination of reasons including fast turnarounds on support and questions, and being present on gitter.
There are a number of users successfully using akka-tracing, including @sandeep-paliwal in an open pull request for openwhisk. An ideal solution might be a sustainable setup for akka-tracing which provides for multiple people contributing to it. To be fair, @levkhomich has done a stellar job, starting this work and updating the project a few months ago, and responding to questions as recently as last month. Whichever direction taken, we owe a great deal of credit to Lev.
So, what do people think about this topic?
Copied from original issue: openzipkin/brave#450
The text was updated successfully, but these errors were encountered: