JSFiddle - React, Tailwind, and code Playground

by mstaab

JavaScript

var json = '{"start":"1399975466.367","phase1":100,"phase2":155.55,"phase3":250,"end":544.33}';
var serverData = JSON.parse(json);

// time, as per clients clock, when the request hit the server
var requestStartMs = performance.timing.requestStart / 1000;
var clientServerDelta = requestStartMs - serverData.start;

console.log("measured client-server clock delta: %f", clientServerDelta);
console.log("mark 'start', in client time %f", requestStartMs + clientServerDelta);

// remove the absolute timestamp, the loop handles all relative events
delete serverData.start;
for (var phase in serverData) {
    console.log("mark '%s', rel. time %f, in client time %f", phase, serverData[phase], requestStartMs + clientServerDelta + serverData[phase]);
    
    // console.timeStamp(phase, requestStartMs + clientServerDelta + serverData[phase])
    // or
    // var date = new Date(requestStartMs + clientServerDelta + serverData[phase]);
    // console.timeStamp(phase, date);
}