Transaction id is not propagated to a NodeJS application through org.springframework.web.reactive.function.client.WebClient call

Hi,
I have a Spring Boot application running with agent attached. I have also created some in-app spans and I can see them in Kibana.
What I don't see in nested span for the external call to a NodeJS application

  import org.springframework.web.reactive.function.client.WebClient;
  String baseUrl = "http://localhost:3001";
  WebClient client = WebClient.create(baseUrl);

Logs in Spring Boot app are showing the transaction id: getting info 79e6160b55bdd66c (transaction id). I am just explicitly reading it and dumping it to log.

Logs in the NodeJS app (with APM enabled) do not show any related HTTP header (on the 2nd line) and new transaction id:

  Called / with swa-app.
  {"accept-encoding":"gzip","user-agent":"ReactorNetty/0.9.4.RELEASE","host":"localhost:3001","content-type":"application/json","accept":"application/json"}
  transaction id=1e049f946ecfcbca, traceId = 9e43cbfc094199b33f0612db5a3382e3

My understanding is that the agent JAR is instrumenting the HTTP calls on the JVM level.
Can anybody help?

Thanks,
Karel

Hi @kfrajtak,

Do you see spans for HTTP calls made from Spring Boot application to your NodeJS application ?

From the HTTP headers I see that those are made using ReactorNetty HTTP client, and this one is not covered by an agent plugin (yet).

However, what you could do is to explicitly provide those headers when the HTTP request is made using API.

I see. I tried to emit a call with RestTemplate and that worked.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.