I have a process whereby a message goes through a whole stack of services. For example; message 'x' is sent through system 'A' followed by system 'B' followed by system 'C'. All services are hosted on different machines. I want to know how much time has passed from the instance in which the message was created up to the time at which it was consumed by 'C'.
To do this, every service sets its timestamp in the message 'x' which is going through the system.
Of course, to be able to attain this all servers must have their time synchronised.
I have discovered it is not so easy to keep them exactly in sync (note that it typically takes 30ms for message 'x' to get from A to C). In my latest attempt I have created a cron job which runs 'ntpdate -u 0.europe.pool.ntp.org' every minute on all servers. This is however failing since I am getting negative numbers in my reports (which would mean that I received the message even before it was published :))
Can anyone provide some help with this?