A potential cause is that the clocks run a bit differently on your two services. Try syncing the clocks via NTP to get the clocks more aligned.
But with distributed systems, it's impossible to have fully in-sync clocks.
The start timestamp for RUM transactions is determined server arrival time - duration. It's just a best guess rather than an exact time. That's because the time of the clients can't be trusted. You can't run NTP on all of your user's desktops and mobile phones
If I recall correctly, the UI does some compensation when lining up frontend and backend transaction to ensure the backend transaction does not appear to be starting before the frontend transaction. When looking at the exact timestamps, there's not really a way to hide the fact that clock syncing of distributed systems that you don't control is an unsolvable problem.
Often, looking at the span waterfall graph with a lens of knowing that there may be a time offset for different services is good enough to infer what's going on. If you don't feel that's the case for you, please elaborate on the reasons why.
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.