Timing "drift" in timeline for REST calls between different servers

I have a C++-client (Windows) which interacts with a Java-server (Unix) using REST. Both run on different machines. For the C++-part, I have written a simple implementation to send transactions and spans directly to the APM-Server.

The C++ application uses the GetSystemTimePreciseAsFileTime-Windows-API to get precise clock information.

The result, however, is that the bars in the timeline view are shifted by about 20-50ms. I suppose this might be due to clock drift between the machines and/or implementation details between the JVM under Unix and the GetSystemTimePreciseAsFileTime API under Windows:

(Green is the C++-Client and blue is the Java-Service)

Is there any way to solve this?
Maybe some HTTP-Header I can set which the ElasticAPM-agent in Java could use for clock synchronisation?

I think your best option is to sync the time of your servers using NTP.