How to Properly Use SkyWalking for Tracing in Temporal Java SDK Workflows

Hi all,

I’m currently using Apache SkyWalking for distributed tracing and integrating it with my Temporal setup (Java SDK). Here’s my current setup:

  • I’m using Temporal Workflows and Activities written in Java.
  • In one of my activities, I’m making an outgoing REST call and manually setting the sw8 header for SkyWalking.
  • The REST service receives the sw8 header, but it appears that SkyWalking modifies it or it doesn’t propagate correctly through the workflow/activity context.

Questions:

  1. How can I trace a full Temporal workflow execution using SkyWalking? That includes linking the entire flow from the workflow method to activities and external REST calls.
  2. How should I handle sw8 header propagation inside Temporal workflows and activities, considering SkyWalking’s context might not automatically carry over?
  3. Is there a recommended pattern or middleware to integrate SkyWalking tracing context into Temporal’s execution context?

Any examples or best practices would be appreciated!

Thanks in advance.