UNPKG

@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
"use strict"; 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