packages/transcription/src/transcription-run.ts
import { SimpleLogger } from '@peertube/peertube-models'
import { buildSUUID, SUUID } from '@peertube/peertube-node-utils'
export class TranscriptionRun {
uuid: SUUID
logger: SimpleLogger
constructor (logger: SimpleLogger, uuid: SUUID = buildSUUID()) {
this.uuid = uuid
this.logger = logger
}
get runId () {
return this.uuid
}
start () {
performance.mark(this.getStartPerformanceMarkName())
}
stop () {
try {
performance.mark(this.getEndPerformanceMarkName())
performance.measure(
this.runId,
this.getStartPerformanceMarkName(),
this.getEndPerformanceMarkName()
)
} catch (err) {
this.logger.error(err.message, { err })
}
}
getStartPerformanceMarkName () {
return `${this.runId}-started`
}
getEndPerformanceMarkName () {
return `${this.runId}-ended`
}
}