@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
25 lines • 964 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.measureExecutionTime = void 0;
const perf_hooks_1 = require("perf_hooks");
const logs_1 = require("../logs");
const measureExecutionTime = async ({ name, fn, silent = false, }) => {
if (!silent) {
logs_1.logger.info(`[${name}] Started`);
}
const startTime = perf_hooks_1.performance.now();
await fn();
const endTime = perf_hooks_1.performance.now();
const duration = (endTime - startTime).toFixed(2);
if (!silent) {
const durationInSeconds = (Number(duration) / 1000).toFixed(3);
if (Number(duration) >= 1000) {
logs_1.logger.info(`[${name}] Completed in ${durationInSeconds}s (${duration}ms)`);
}
else {
logs_1.logger.info(`[${name}] Completed in ${duration}ms`);
}
}
};
exports.measureExecutionTime = measureExecutionTime;
//# sourceMappingURL=measure-execution-time.js.map