UNPKG

cnpmcore

Version:
40 lines 2.98 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncTimer = void 0; const perf_hooks_1 = require("perf_hooks"); const aop_1 = require("@eggjs/tegg/aop"); const tegg_1 = require("@eggjs/tegg"); // auto print async function call performance timer log into logger let AsyncTimer = class AsyncTimer { constructor() { this.succeed = true; } async beforeCall() { this.start = perf_hooks_1.performance.now(); } async afterThrow() { this.succeed = false; } async afterFinally(ctx) { const ms = Math.floor((perf_hooks_1.performance.now() - this.start) * 1000) / 1000; this.logger.info('[%s] [%s:%s|%s]', ms, ctx.that.constructor.name, ctx.method, this.succeed ? 'T' : 'F'); } }; exports.AsyncTimer = AsyncTimer; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], AsyncTimer.prototype, "logger", void 0); exports.AsyncTimer = AsyncTimer = __decorate([ (0, aop_1.Advice)() ], AsyncTimer); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXN5bmNUaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vYW9wL0FzeW5jVGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXlDO0FBQ3pDLHlDQUFpRTtBQUNqRSxzQ0FBcUM7QUFHckMsbUVBQW1FO0FBRTVELElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFBaEI7UUFJRyxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBZXpCLENBQUM7SUFiQyxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFrQjtRQUNuQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUNoQyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0YsQ0FBQTtBQW5CWSxnQ0FBVTtBQUVKO0lBRGhCLElBQUEsYUFBTSxHQUFFOzswQ0FDMEI7cUJBRnhCLFVBQVU7SUFEdEIsSUFBQSxZQUFNLEdBQUU7R0FDSSxVQUFVLENBbUJ0QiJ9