nestjs-profiler 1.0.26 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var CronExplorerService_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CronExplorerService = void 0;
11
+ exports.humanizeCron = humanizeCron;
12
+ const common_1 = require("@nestjs/common");
13
+ const EMPTY_HANDLER = { className: '', methodName: '', file: '' };
14
+ let CronExplorerService = CronExplorerService_1 = class CronExplorerService {
15
+ initialize(schedulerRegistry, modulesContainer) {
16
+ CronExplorerService_1._registry = schedulerRegistry ?? null;
17
+ CronExplorerService_1._hasScheduler = !!schedulerRegistry;
18
+ if (modulesContainer) {
19
+ this.scanHandlers(modulesContainer);
20
+ }
21
+ }
22
+ getReport() {
23
+ if (!CronExplorerService_1._registry) {
24
+ return {
25
+ cronJobs: [],
26
+ intervals: [],
27
+ timeouts: [],
28
+ scannedAt: Date.now(),
29
+ hasScheduler: false,
30
+ };
31
+ }
32
+ return this.buildFromRegistry();
33
+ }
34
+ buildFromRegistry() {
35
+ const registry = CronExplorerService_1._registry;
36
+ const handlers = CronExplorerService_1._handlers;
37
+ const cronJobs = [];
38
+ const intervals = [];
39
+ const timeouts = [];
40
+ try {
41
+ const jobs = registry.getCronJobs();
42
+ for (const [name, job] of jobs.entries()) {
43
+ const h = handlers.get(name) ?? EMPTY_HANDLER;
44
+ let nextRun = null;
45
+ try {
46
+ const nd = job.nextDate?.();
47
+ if (nd) {
48
+ nextRun = typeof nd.toMillis === 'function'
49
+ ? nd.toMillis()
50
+ : nd.toDate?.().getTime() ?? nd.getTime?.() ?? null;
51
+ }
52
+ }
53
+ catch { }
54
+ let lastRun = null;
55
+ try {
56
+ const ld = job.lastDate?.();
57
+ lastRun = ld?.getTime?.() ?? null;
58
+ }
59
+ catch { }
60
+ let expression = '';
61
+ try {
62
+ expression = job.cronTime?.source ?? job.cronTime?.toString?.() ?? '';
63
+ }
64
+ catch { }
65
+ cronJobs.push({
66
+ type: 'cron',
67
+ name,
68
+ expression,
69
+ expressionHuman: humanizeCron(expression),
70
+ nextRun,
71
+ lastRun,
72
+ running: !!job.running,
73
+ handler: h.className && h.methodName
74
+ ? `${h.className}.${h.methodName}`
75
+ : name,
76
+ className: h.className ?? '',
77
+ methodName: h.methodName ?? '',
78
+ file: h.file ?? '',
79
+ });
80
+ }
81
+ }
82
+ catch { }
83
+ cronJobs.sort((a, b) => {
84
+ if (a.running !== b.running)
85
+ return a.running ? -1 : 1;
86
+ return (a.nextRun ?? Infinity) - (b.nextRun ?? Infinity);
87
+ });
88
+ try {
89
+ const names = registry.getIntervals();
90
+ for (const name of names) {
91
+ const h = handlers.get(name) ?? EMPTY_HANDLER;
92
+ intervals.push({
93
+ type: 'interval',
94
+ name,
95
+ ms: h.intervalMs ?? 0,
96
+ handler: h.className && h.methodName
97
+ ? `${h.className}.${h.methodName}`
98
+ : name,
99
+ className: h.className ?? '',
100
+ methodName: h.methodName ?? '',
101
+ file: h.file ?? '',
102
+ });
103
+ }
104
+ }
105
+ catch { }
106
+ try {
107
+ const names = registry.getTimeouts();
108
+ for (const name of names) {
109
+ const h = handlers.get(name) ?? EMPTY_HANDLER;
110
+ timeouts.push({
111
+ type: 'timeout',
112
+ name,
113
+ ms: h.timeoutMs ?? 0,
114
+ handler: h.className && h.methodName
115
+ ? `${h.className}.${h.methodName}`
116
+ : name,
117
+ className: h.className ?? '',
118
+ methodName: h.methodName ?? '',
119
+ file: h.file ?? '',
120
+ });
121
+ }
122
+ }
123
+ catch { }
124
+ return {
125
+ cronJobs,
126
+ intervals,
127
+ timeouts,
128
+ scannedAt: Date.now(),
129
+ hasScheduler: true,
130
+ };
131
+ }
132
+ scanHandlers(modulesContainer) {
133
+ const CRON_KEY = 'SCHEDULE_CRON_OPTIONS';
134
+ const INTERVAL_KEY = 'SCHEDULE_INTERVAL_OPTIONS';
135
+ const TIMEOUT_KEY = 'SCHEDULE_TIMEOUT_OPTIONS';
136
+ const NAME_KEY = 'SCHEDULER_NAME';
137
+ for (const mod of modulesContainer.values()) {
138
+ const providers = [...(mod.providers?.values() ?? [])];
139
+ for (const wrapper of providers) {
140
+ if (!wrapper?.instance || wrapper.isAlias)
141
+ continue;
142
+ const instance = wrapper.instance;
143
+ const proto = Object.getPrototypeOf(instance);
144
+ if (!proto || proto === Object.prototype)
145
+ continue;
146
+ const file = findFileForClass(instance.constructor);
147
+ Object.getOwnPropertyNames(proto).forEach(methodName => {
148
+ if (methodName === 'constructor')
149
+ return;
150
+ try {
151
+ const descriptor = Object.getOwnPropertyDescriptor(proto, methodName);
152
+ if (!descriptor || typeof descriptor.value !== 'function')
153
+ return;
154
+ const fn = descriptor.value;
155
+ const className = instance.constructor.name;
156
+ const schedulerName = Reflect.getMetadata(NAME_KEY, fn);
157
+ const cronOpts = Reflect.getMetadata(CRON_KEY, fn);
158
+ if (cronOpts) {
159
+ const key = cronOpts.name || schedulerName || methodName;
160
+ CronExplorerService_1._handlers.set(key, { className, methodName, file });
161
+ }
162
+ const intervalOpts = Reflect.getMetadata(INTERVAL_KEY, fn);
163
+ if (intervalOpts) {
164
+ const key = schedulerName || intervalOpts.name || methodName;
165
+ CronExplorerService_1._handlers.set(key, {
166
+ className, methodName, file,
167
+ intervalMs: intervalOpts.timeout,
168
+ });
169
+ }
170
+ const timeoutOpts = Reflect.getMetadata(TIMEOUT_KEY, fn);
171
+ if (timeoutOpts) {
172
+ const key = schedulerName || timeoutOpts.name || methodName;
173
+ CronExplorerService_1._handlers.set(key, {
174
+ className, methodName, file,
175
+ timeoutMs: timeoutOpts.timeout,
176
+ });
177
+ }
178
+ }
179
+ catch { }
180
+ });
181
+ }
182
+ }
183
+ }
184
+ };
185
+ exports.CronExplorerService = CronExplorerService;
186
+ CronExplorerService._registry = null;
187
+ CronExplorerService._hasScheduler = false;
188
+ CronExplorerService._handlers = new Map();
189
+ exports.CronExplorerService = CronExplorerService = CronExplorerService_1 = __decorate([
190
+ (0, common_1.Injectable)()
191
+ ], CronExplorerService);
192
+ function findFileForClass(ctor) {
193
+ if (!ctor?.name)
194
+ return '';
195
+ try {
196
+ const cache = require.cache;
197
+ for (const [filename, mod] of Object.entries(cache)) {
198
+ if (!mod?.exports)
199
+ continue;
200
+ const exp = mod.exports;
201
+ if (exp[ctor.name] === ctor || exp?.default === ctor) {
202
+ return filename.replace(/\.js$/, '.ts');
203
+ }
204
+ }
205
+ }
206
+ catch { }
207
+ return '';
208
+ }
209
+ function humanizeCron(expression) {
210
+ if (!expression)
211
+ return '';
212
+ const parts = expression.trim().split(/\s+/);
213
+ let min = '', hour = '', dom = '', month = '', dow = '';
214
+ if (parts.length === 6) {
215
+ [, min, hour, dom, month, dow] = parts;
216
+ }
217
+ else if (parts.length === 5) {
218
+ [min, hour, dom, month, dow] = parts;
219
+ }
220
+ else {
221
+ return expression;
222
+ }
223
+ const all = (p) => p === '*';
224
+ const zero = (p) => p === '0';
225
+ const everyN = (p) => p.match(/^\*\/(\d+)$/)?.[1];
226
+ const fixed = (p) => /^\d+$/.test(p) ? parseInt(p) : null;
227
+ const DAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
228
+ const pad = (n) => n.toString().padStart(2, '0');
229
+ const fmtTime = (h, m) => `${h}:${pad(m)} ${h < 12 ? 'AM' : 'PM'}`.replace('12:00 PM', 'noon').replace('00:00 AM', 'midnight');
230
+ if (all(min) && all(hour) && all(dom) && all(month) && all(dow))
231
+ return 'Every minute';
232
+ const nMin = everyN(min);
233
+ if (nMin && all(hour) && all(dom) && all(month) && all(dow))
234
+ return parseInt(nMin) === 1 ? 'Every minute' : `Every ${nMin} minutes`;
235
+ const nHour = everyN(hour);
236
+ if (zero(min) && nHour && all(dom) && all(month) && all(dow))
237
+ return parseInt(nHour) === 1 ? 'Every hour' : `Every ${nHour} hours`;
238
+ if (zero(min) && all(hour) && all(dom) && all(month) && all(dow))
239
+ return 'Every hour';
240
+ const nDom = everyN(dom);
241
+ if (zero(min) && zero(hour) && nDom && all(month) && all(dow))
242
+ return `Every ${nDom} days`;
243
+ const h = fixed(hour), m = fixed(min);
244
+ if (h !== null && m !== null && all(dom) && all(month) && all(dow))
245
+ return `Daily at ${fmtTime(h, m)}`;
246
+ if (h !== null && m !== null && all(dom) && all(month) &&
247
+ (dow === '1-5' || dow === 'MON-FRI'))
248
+ return `Weekdays at ${fmtTime(h, m)}`;
249
+ const dowN = fixed(dow);
250
+ if (h !== null && m !== null && all(dom) && all(month) &&
251
+ dowN !== null && dowN >= 0 && dowN <= 6)
252
+ return `Every ${DAYS[dowN]} at ${fmtTime(h, m)}`;
253
+ const dayN = fixed(dom);
254
+ if (zero(min) && zero(hour) && dayN !== null && all(month) && all(dow)) {
255
+ const suffix = dayN === 1 ? 'st' : dayN === 2 ? 'nd' : dayN === 3 ? 'rd' : 'th';
256
+ return `Monthly on the ${dayN}${suffix}`;
257
+ }
258
+ return expression;
259
+ }
260
+ //# sourceMappingURL=cron-explorer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-explorer.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/cron-explorer.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
2
+ export interface MemorySample {
3
+ timestamp: number;
4
+ heapUsed: number;
5
+ heapTotal: number;
6
+ rss: number;
7
+ external: number;
8
+ arrayBuffers: number;
9
+ heapSizeLimit: number;
10
+ detachedContexts: number;
11
+ }
12
+ export type MemoryTrend = 'stable' | 'growing' | 'likely_leak';
13
+ export interface MemoryReport {
14
+ current: MemorySample;
15
+ trend: MemoryTrend;
16
+ leakScore: number;
17
+ leakScoreBreakdown: {
18
+ growthRate: number;
19
+ detachedContexts: number;
20
+ sustained: number;
21
+ };
22
+ windowSize: number;
23
+ samples: MemorySample[];
24
+ topMemoryRequests: RequestMemoryDelta[];
25
+ gcAvailable: boolean;
26
+ alerts: string[];
27
+ }
28
+ export interface RequestMemoryDelta {
29
+ method: string;
30
+ url: string;
31
+ heapDeltaBytes: number;
32
+ timestamp: number;
33
+ durationMs: number;
34
+ }
35
+ export declare class MemoryService implements OnModuleInit, OnModuleDestroy {
36
+ private readonly logger;
37
+ private samples;
38
+ private requestDeltas;
39
+ private pollTimer;
40
+ onModuleInit(): void;
41
+ onModuleDestroy(): void;
42
+ private takeSample;
43
+ snapshotBefore(): number;
44
+ recordDelta(method: string, url: string, heapBefore: number, durationMs: number): void;
45
+ private computeTrend;
46
+ getReport(): MemoryReport;
47
+ forceGc(): {
48
+ success: boolean;
49
+ message: string;
50
+ heapFreedBytes?: number;
51
+ };
52
+ takeSnapshot(): {
53
+ success: boolean;
54
+ filePath?: string;
55
+ message: string;
56
+ };
57
+ private buildCurrentSample;
58
+ }
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var MemoryService_1;
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.MemoryService = void 0;
44
+ const common_1 = require("@nestjs/common");
45
+ const v8 = __importStar(require("v8"));
46
+ const path = __importStar(require("path"));
47
+ const POLL_INTERVAL_MS = 10_000;
48
+ const WINDOW_SIZE = 60;
49
+ const MAX_REQUEST_DELTAS = 50;
50
+ const GROWTH_THRESHOLD = 0.05;
51
+ const LEAK_THRESHOLD = 0.15;
52
+ const MB = 1024 * 1024;
53
+ let MemoryService = MemoryService_1 = class MemoryService {
54
+ constructor() {
55
+ this.logger = new common_1.Logger(MemoryService_1.name);
56
+ this.samples = [];
57
+ this.requestDeltas = [];
58
+ this.pollTimer = null;
59
+ }
60
+ onModuleInit() {
61
+ this.takeSample();
62
+ this.pollTimer = setInterval(() => this.takeSample(), POLL_INTERVAL_MS);
63
+ this.logger.log('MemoryService started — polling every 10 s');
64
+ }
65
+ onModuleDestroy() {
66
+ if (this.pollTimer) {
67
+ clearInterval(this.pollTimer);
68
+ this.pollTimer = null;
69
+ }
70
+ }
71
+ takeSample() {
72
+ const mem = process.memoryUsage();
73
+ const heap = v8.getHeapStatistics();
74
+ const sample = {
75
+ timestamp: Date.now(),
76
+ heapUsed: mem.heapUsed,
77
+ heapTotal: mem.heapTotal,
78
+ rss: mem.rss,
79
+ external: mem.external,
80
+ arrayBuffers: mem.arrayBuffers,
81
+ heapSizeLimit: heap.heap_size_limit,
82
+ detachedContexts: heap.number_of_detached_contexts,
83
+ };
84
+ this.samples.push(sample);
85
+ if (this.samples.length > WINDOW_SIZE) {
86
+ this.samples.shift();
87
+ }
88
+ if (sample.detachedContexts > 5) {
89
+ this.logger.warn(`[memory] ${sample.detachedContexts} detached V8 contexts detected — possible leak`);
90
+ }
91
+ }
92
+ snapshotBefore() {
93
+ return process.memoryUsage().heapUsed;
94
+ }
95
+ recordDelta(method, url, heapBefore, durationMs) {
96
+ const heapDeltaBytes = process.memoryUsage().heapUsed - heapBefore;
97
+ if (Math.abs(heapDeltaBytes) < 1024)
98
+ return;
99
+ this.requestDeltas.push({
100
+ method,
101
+ url,
102
+ heapDeltaBytes,
103
+ timestamp: Date.now(),
104
+ durationMs,
105
+ });
106
+ if (this.requestDeltas.length > MAX_REQUEST_DELTAS) {
107
+ this.requestDeltas.shift();
108
+ }
109
+ }
110
+ computeTrend() {
111
+ if (this.samples.length < 10) {
112
+ return { trend: 'stable', leakScore: 0, breakdown: { growthRate: 0, detachedContexts: 0, sustained: 0 } };
113
+ }
114
+ const half = Math.floor(this.samples.length / 2);
115
+ const first = this.samples.slice(0, half);
116
+ const second = this.samples.slice(half);
117
+ const avgFirst = first.reduce((s, x) => s + x.heapUsed, 0) / first.length;
118
+ const avgSecond = second.reduce((s, x) => s + x.heapUsed, 0) / second.length;
119
+ const growthRate = avgFirst > 0 ? (avgSecond - avgFirst) / avgFirst : 0;
120
+ const latest = this.samples[this.samples.length - 1];
121
+ const detachedPts = Math.min(40, latest.detachedContexts * 8);
122
+ const growthPts = Math.min(40, Math.max(0, growthRate / LEAK_THRESHOLD) * 40);
123
+ let growingIntervals = 0;
124
+ for (let i = 1; i < this.samples.length; i++) {
125
+ if (this.samples[i].heapUsed > this.samples[i - 1].heapUsed)
126
+ growingIntervals++;
127
+ }
128
+ const sustainedRatio = growingIntervals / (this.samples.length - 1);
129
+ const sustainedPts = sustainedRatio > 0.7 ? Math.round(sustainedRatio * 20) : 0;
130
+ const leakScore = Math.round(Math.min(100, detachedPts + growthPts + sustainedPts));
131
+ let trend;
132
+ if (growthRate >= LEAK_THRESHOLD || leakScore >= 60) {
133
+ trend = 'likely_leak';
134
+ }
135
+ else if (growthRate >= GROWTH_THRESHOLD || leakScore >= 30) {
136
+ trend = 'growing';
137
+ }
138
+ else {
139
+ trend = 'stable';
140
+ }
141
+ return {
142
+ trend,
143
+ leakScore,
144
+ breakdown: {
145
+ growthRate: Math.round(growthPts),
146
+ detachedContexts: Math.round(detachedPts),
147
+ sustained: Math.round(sustainedPts),
148
+ },
149
+ };
150
+ }
151
+ getReport() {
152
+ const { trend, leakScore, breakdown } = this.computeTrend();
153
+ const latest = this.samples[this.samples.length - 1] ?? this.buildCurrentSample();
154
+ const topRequests = [...this.requestDeltas]
155
+ .sort((a, b) => b.heapDeltaBytes - a.heapDeltaBytes)
156
+ .slice(0, 20);
157
+ const alerts = [];
158
+ if (leakScore >= 60)
159
+ alerts.push('High leak score — memory is growing rapidly');
160
+ if (latest.detachedContexts > 5)
161
+ alerts.push(`${latest.detachedContexts} detached V8 contexts detected`);
162
+ if (latest.heapUsed / latest.heapSizeLimit > 0.85)
163
+ alerts.push('Heap usage above 85% of limit');
164
+ return {
165
+ current: latest,
166
+ trend,
167
+ leakScore,
168
+ leakScoreBreakdown: breakdown,
169
+ windowSize: this.samples.length,
170
+ samples: [...this.samples],
171
+ topMemoryRequests: topRequests,
172
+ gcAvailable: typeof global.gc === 'function',
173
+ alerts,
174
+ };
175
+ }
176
+ forceGc() {
177
+ const gc = global.gc;
178
+ if (typeof gc !== 'function') {
179
+ return {
180
+ success: false,
181
+ message: 'GC not available. Start Node with --expose-gc to enable manual GC.',
182
+ };
183
+ }
184
+ const before = process.memoryUsage().heapUsed;
185
+ gc();
186
+ this.takeSample();
187
+ const after = process.memoryUsage().heapUsed;
188
+ const freed = before - after;
189
+ this.logger.log(`[memory] Manual GC freed ${(freed / MB).toFixed(2)} MB`);
190
+ return { success: true, message: `GC complete — freed ~${(freed / MB).toFixed(2)} MB`, heapFreedBytes: freed };
191
+ }
192
+ takeSnapshot() {
193
+ try {
194
+ const fileName = `Heap-${Date.now()}.heapsnapshot`;
195
+ const filePath = path.join(process.cwd(), fileName);
196
+ v8.writeHeapSnapshot(filePath);
197
+ this.logger.log(`[memory] Heap snapshot written to ${filePath}`);
198
+ return { success: true, filePath, message: `Snapshot saved: ${fileName} (open in Chrome DevTools → Memory tab)` };
199
+ }
200
+ catch (err) {
201
+ return { success: false, message: `Snapshot failed: ${err?.message ?? err}` };
202
+ }
203
+ }
204
+ buildCurrentSample() {
205
+ const mem = process.memoryUsage();
206
+ const heap = v8.getHeapStatistics();
207
+ return {
208
+ timestamp: Date.now(),
209
+ heapUsed: mem.heapUsed,
210
+ heapTotal: mem.heapTotal,
211
+ rss: mem.rss,
212
+ external: mem.external,
213
+ arrayBuffers: mem.arrayBuffers,
214
+ heapSizeLimit: heap.heap_size_limit,
215
+ detachedContexts: heap.number_of_detached_contexts,
216
+ };
217
+ }
218
+ };
219
+ exports.MemoryService = MemoryService;
220
+ exports.MemoryService = MemoryService = MemoryService_1 = __decorate([
221
+ (0, common_1.Injectable)()
222
+ ], MemoryService);
223
+ //# sourceMappingURL=memory.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/memory.service.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,8 @@ let ViewService = class ViewService {
88
88
  liveLogsActive: active('live-logs'),
89
89
  codeQualityActive: active('code-quality'),
90
90
  eventsActive: active('events'),
91
+ cronJobsActive: active('cron-jobs'),
92
+ memoryActive: active('memory'),
91
93
  summaryIconClass: activeIcon('summary'),
92
94
  requestsIconClass: activeIcon('requests'),
93
95
  queriesIconClass: activeIcon('queries'),
@@ -100,6 +102,8 @@ let ViewService = class ViewService {
100
102
  healthIconClass: activeIcon('health'),
101
103
  liveLogsIconClass: activeIcon('live-logs'),
102
104
  codeQualityIconClass: activeIcon('code-quality'),
105
+ cronJobsIconClass: activeIcon('cron-jobs'),
106
+ memoryIconClass: activeIcon('memory'),
103
107
  };
104
108
  layout = this.interpolate(layout, data);
105
109
  return layout;
@@ -1 +1 @@
1
- {"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/view.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.service.js","sourceRoot":"","sources":["../../../libs/nestjs-profiler/src/services/view.service.ts"],"names":[],"mappings":"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"}