(ms)
| 151 | const kHour = 60 * kMinute; |
| 152 | |
| 153 | function formatTime(ms) { |
| 154 | let hours = 0; |
| 155 | let minutes = 0; |
| 156 | let seconds = 0; |
| 157 | |
| 158 | if (ms >= kSecond) { |
| 159 | if (ms >= kMinute) { |
| 160 | if (ms >= kHour) { |
| 161 | hours = MathFloor(ms / kHour); |
| 162 | ms = ms % kHour; |
| 163 | } |
| 164 | minutes = MathFloor(ms / kMinute); |
| 165 | ms = ms % kMinute; |
| 166 | } |
| 167 | seconds = ms / kSecond; |
| 168 | } |
| 169 | |
| 170 | if (hours !== 0 || minutes !== 0) { |
| 171 | ({ 0: seconds, 1: ms } = StringPrototypeSplit( |
| 172 | NumberPrototypeToFixed(seconds, 3), |
| 173 | '.', |
| 174 | 2, |
| 175 | )); |
| 176 | const res = hours !== 0 ? `${hours}:${pad(minutes)}` : minutes; |
| 177 | return `${res}:${pad(seconds)}.${ms} (${hours !== 0 ? 'h:m' : ''}m:ss.mmm)`; |
| 178 | } |
| 179 | |
| 180 | if (seconds !== 0) { |
| 181 | return `${NumberPrototypeToFixed(seconds, 3)}s`; |
| 182 | } |
| 183 | |
| 184 | return `${Number(NumberPrototypeToFixed(ms, 3))}ms`; |
| 185 | } |
| 186 | |
| 187 | function safeTraceLabel(label) { |
| 188 | return label.replaceAll('\\', '\\\\').replaceAll('"', '\\"'); |
no test coverage detected
searching dependent graphs…