public_notes/quartz/perf.ts

20 lines
401 B
TypeScript
Raw Normal View History

2023-07-23 09:27:41 +09:00
import chalk from "chalk"
import pretty from "pretty-time"
2023-05-31 00:02:20 +09:00
export class PerfTimer {
evts: { [key: string]: [number, number] }
constructor() {
this.evts = {}
2023-07-23 09:27:41 +09:00
this.addEvent("start")
2023-05-31 00:02:20 +09:00
}
addEvent(evtName: string) {
this.evts[evtName] = process.hrtime()
}
timeSince(evtName?: string): string {
2023-07-23 09:27:41 +09:00
return chalk.yellow(pretty(process.hrtime(this.evts[evtName ?? "start"])))
2023-05-31 00:02:20 +09:00
}
}