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.

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