cal/packages/lib/server/perfObserver.ts
Omar López 8b873e2828
Adding a bunch of performance markers (#6303)
* Adding a bunch of performance markers

* Update packages/lib/server/perfObserver.ts

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-09 18:42:46 -07:00

27 lines
717 B
TypeScript

import { PerformanceObserver } from "perf_hooks";
import logger from "../logger";
declare global {
// eslint-disable-next-line no-var
var perfObserver: PerformanceObserver | undefined;
}
export const perfObserver =
globalThis.perfObserver ||
new PerformanceObserver((items) => {
items.getEntries().forEach((entry) => {
// Log entry duration in seconds with four decimal places.
logger.debug(entry.name.replace("$1", `${(entry.duration / 1000.0).toFixed(4)}s`));
});
});
perfObserver.observe({ entryTypes: ["measure"] });
if (process.env.NODE_ENV !== "production") {
globalThis.perfObserver = perfObserver;
}
export default perfObserver;
export { performance } from "perf_hooks";