20 Sep 2019 05:24 PM - last edited on 13 Apr 2023 10:20 AM by Karolina_Linda
Hi,
We have a Node JS microservice that processes any new event/message available in Kafka topic and then makes a rest call to another microservice (Java) to fetch additional details.
But we are unable to see any of these traces captured in Dynatrace. We don't have Dynatrace on Kafka Infra but we are expecting to capture the communication between NodeJs microservice to other microservice (Java technology) in our application. We want to monitor how much time it is consuming between these microservices.
Any idea how can I capture those traces?
Solved! Go to Solution.
20 Sep 2019 07:56 PM
I'm not absolutely sure here, but I think Kafka tracing is not yet publicly released and should be available as a preview at the moment.
The other method would be to adapt oneagent sdk and send the trace ids from your code - if this is acceptable for you and you can change your source code.
20 Sep 2019 08:43 PM
Yes we have included One Agent SDK in our code and implemented traceOutgoingRemoteCall() method to track the GET request made to another microservice in our application , But we see the requests captured as a "Request to unmonitored host" instead of creating a service in target microservice.
20 Sep 2019 09:11 PM
Unless you put your request id into the same header / metadata / .. as dynatrace expect (depending on the protocol), you will also have to trace the incoming call on the other side.
24 Sep 2019 07:40 AM
Hi,
please also make sure that the channel and host information provided to traceOutgoingRemoteCall() match the actual target microservice. In that case you can expect to get a consistent trace across your services.
25 Nov 2019 11:44 AM
Hi,
we are currently researching possibilities to support specific Kafka clients for Node.js out of the box. Which Kafka client (e.g.: kafkajs, node-kafka,..) are you using in your Node.JS microservice?