mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 18:44:16 +00:00
added PerformanceLog
class
This commit is contained in:
parent
2640b57925
commit
612d831a29
53
packages/app/src/classes/PerformanceLog/index.js
Normal file
53
packages/app/src/classes/PerformanceLog/index.js
Normal file
@ -0,0 +1,53 @@
|
||||
export default class PerformanceLog {
|
||||
constructor(
|
||||
id,
|
||||
params = {
|
||||
disabled: false
|
||||
}
|
||||
) {
|
||||
this.id = id
|
||||
this.params = params
|
||||
|
||||
this.table = {}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
start(event) {
|
||||
if (this.params.disabled) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (!this.table[event]) {
|
||||
this.table[event] = {}
|
||||
}
|
||||
|
||||
return this.table[event]["start"] = performance.now()
|
||||
}
|
||||
|
||||
end(event) {
|
||||
if (this.params.disabled) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (!this.table[event]) {
|
||||
return
|
||||
}
|
||||
|
||||
return this.table[event]["end"] = performance.now()
|
||||
}
|
||||
|
||||
finally() {
|
||||
if (this.params.disabled) {
|
||||
return false
|
||||
}
|
||||
|
||||
console.group(this.id)
|
||||
|
||||
Object.entries(this.table).forEach(([entry, value]) => {
|
||||
console.log(entry, `${(value.end - value.start).toFixed(0)}ms`)
|
||||
})
|
||||
|
||||
console.groupEnd()
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user