Below is a rough sketch of how our SpringBoot microservices communicate with a Remote Blockchain app, which triggers events based on the requests send to it. The blockchain can generate multiple events for a single request, and this triggers multiple Traces to be generated on the auto-instrumented event-listening service "C"
Please suggest how can we combine these multiple traces on the receiving side with the original trace that was generated at the start of the flow. A few points about our service that might give better clarity :
- At the start of the flow, we are generating a unique msg-id that is used to correlate the logs, and it flows through all the microservices.
- Perhaps we serialize the context in service "B", just before hitting the blockchain, and then when service "C" receives events from the blockchain, we use the msg-id to fetch the related span context from DB/File and create a child span out of that? will that "unite" the traces?