in resources/perf.webkit.org/public/v3/models/build-request.js [132:167]
static formatTimeInterval(intervalInMillionSeconds)
{
let intervalInSeconds = intervalInMillionSeconds / 1000;
const units = [
{unit: 'week', length: 7 * 24 * 3600},
{unit: 'day', length: 24 * 3600},
{unit: 'hour', length: 3600},
{unit: 'minute', length: 60},
];
let indexOfFirstSmallEnoughUnit = units.length - 1;
for (let i = 0; i < units.length; i++) {
if (intervalInSeconds > 1.5 * units[i].length) {
indexOfFirstSmallEnoughUnit = i;
break;
}
}
let label = '';
let lastUnit = false;
for (let i = indexOfFirstSmallEnoughUnit; !lastUnit; i++) {
lastUnit = i == indexOfFirstSmallEnoughUnit + 1 || i == units.length - 1;
const length = units[i].length;
const valueForUnit = lastUnit ? Math.round(intervalInSeconds / length) : Math.floor(intervalInSeconds / length);
const unit = units[i].unit + (valueForUnit == 1 ? '' : 's');
if (label)
label += ' ';
label += `${valueForUnit} ${unit}`;
intervalInSeconds = intervalInSeconds - valueForUnit * length;
}
return label;
}