Hi, a question prodding feasability of getting distributed traces on asynchronous jobs. In my (Rails) application, web requests kick off background jobs that are processed in Sidekiq. I see the Sidekiq transaction and the request transaction separately in Kibana APM. I'd like to see them as a distributed trace, even though I know that the web transaction might end before the asynchronous job begins.
Does this make sense as a thing to do? Because and if so, might I be right in thinking that the Traceparent and TraceState need to somehow be passed over to the background job, and set on the transaction there?
Thanks for the confirmation. Could you give some high level pointers on what it might mean to get it implemented?
For the agent work, I imagine would be more generalized, but if we have a specific setup, say with rails and sidekiq, would passing additional parameters to the job(in particular traceparent and tracestate) work? Any thoughts on how one might serialize info like that to be passed over to sidekiq? Am I missing any other info that I need to pass?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.