Files
huly-platform/pods/server/src/profiler.ts
T
Andrey SobolevandGitHub 152befc628 Bump all core/server packages to latest version (#10082)
* Bump all core/server packages to latest version

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>

* Fix platform-rig

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>

---------

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2025-10-14 14:23:22 +07:00

39 lines
981 B
TypeScript

import { PlatformError, unknownError } from '@hcengineering/platform'
import * as inspector from 'node:inspector'
let session: inspector.Session | undefined
export function profileStart (): void {
try {
session = new inspector.Session()
session.connect()
session.post('Profiler.enable')
session.post('Profiler.start')
} catch (err) {
console.error(err)
}
}
export async function profileStop (): Promise<string | undefined> {
return await new Promise<string | undefined>((resolve, reject) => {
if (session == null) {
reject(new PlatformError(unknownError('no session started')))
return
}
try {
session.post('Profiler.stop', (err, profile) => {
if (err != null) {
reject(err)
} else {
const json = JSON.stringify(profile.profile)
session?.disconnect()
session = undefined
resolve(json)
}
})
} catch (err) {
reject(err)
}
})
}