I have the following system setup

client app running on my computer
server app running on my computer
publisher Raspberry-Pi unit
subscriber Raspberry-Pi unit

the client app sends a message to the server who then sends a message to the publisher which forwards this message to the subscriber which then returns the message back to the server app
I am trying to measure the elapsed time in seconds using time.time() or timeit.default_timer() however both returned same results.
i measure time in 4 points:

Message arriving from client to server app.
Message arriving at publisher from server
Message arriving at subscriber from publisher
Message arriving at server app from the publisher

What happens is that the first and the last time make sense
how ever both time stamps on the publisher and subscriber happen before the first time-stamp on the server, which makes no sense, unless that raspberry pi traveled back in time.These are the times measured:
[1449606796.36039, 1449606784.0, 1449606784.0, 1449606804.49233]
When i measure time.time() on the different machines manually everything seems to be in sync.
 Any idea what's going wrong here ?
I don't know what the problem was, but i switched to python DateTime.now() and everything seems to work fine, no weird times now.
Raspberry Pi (Python) Measuring time between units