@cubejs-backend/shared 1.3.67 → 1.3.69

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,12 @@
1
+ declare class PerfTracker {
2
+ private metrics;
3
+ private globalMetric;
4
+ constructor();
5
+ start(name: string, global?: boolean): {
6
+ end: () => void;
7
+ };
8
+ printReport(): void;
9
+ }
10
+ export declare const perfTracker: PerfTracker;
11
+ export {};
12
+ //# sourceMappingURL=PerfTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerfTracker.d.ts","sourceRoot":"","sources":["../../src/PerfTracker.ts"],"names":[],"mappings":"AAYA,cAAM,WAAW;IACf,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,YAAY,CAAuB;;IAkBpC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG;QAAE,GAAG,EAAE,MAAM,IAAI,CAAA;KAAE;IAsBjE,WAAW;CA8BnB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.perfTracker = void 0;
4
+ const perf_hooks_1 = require("perf_hooks");
5
+ class PerfTracker {
6
+ metrics = {};
7
+ globalMetric = null;
8
+ constructor() {
9
+ const obs = new perf_hooks_1.PerformanceObserver((items) => {
10
+ for (const entry of items.getEntries()) {
11
+ const { name } = entry;
12
+ if (!this.metrics[name]) {
13
+ this.metrics[name] = { count: 0, totalTime: 0, avgTime: 0 };
14
+ }
15
+ const m = this.metrics[name];
16
+ m.count++;
17
+ m.totalTime += entry.duration;
18
+ m.avgTime = m.totalTime / m.count;
19
+ }
20
+ });
21
+ obs.observe({ entryTypes: ['measure'] });
22
+ }
23
+ start(name, global = false) {
24
+ const uid = `${name}-${perf_hooks_1.performance.now()}`;
25
+ const startMark = `${uid}-start`;
26
+ const endMark = `${uid}-end`;
27
+ perf_hooks_1.performance.mark(startMark);
28
+ if (global && !this.globalMetric) {
29
+ this.globalMetric = name;
30
+ }
31
+ let ended = false;
32
+ return {
33
+ end: () => {
34
+ if (ended)
35
+ return;
36
+ perf_hooks_1.performance.mark(endMark);
37
+ perf_hooks_1.performance.measure(name, startMark, endMark);
38
+ ended = true;
39
+ }
40
+ };
41
+ }
42
+ printReport() {
43
+ console.log('\nšŸš€ PERFORMANCE REPORT šŸš€\n');
44
+ console.log('═'.repeat(90));
45
+ const sorted = Object.entries(this.metrics)
46
+ .sort(([, a], [, b]) => b.totalTime - a.totalTime);
47
+ if (!sorted.length) {
48
+ console.log('No performance data collected.');
49
+ return;
50
+ }
51
+ let totalTime = 0;
52
+ if (this.globalMetric) {
53
+ totalTime = this.metrics[this.globalMetric]?.totalTime;
54
+ }
55
+ else {
56
+ totalTime = sorted.reduce((sum, [, m]) => sum + m.totalTime, 0);
57
+ }
58
+ console.log(`ā±ļø TOTAL TIME: ${totalTime.toFixed(2)}ms\n`);
59
+ sorted.forEach(([name, m]) => {
60
+ const pct = totalTime > 0 ? (m.totalTime / totalTime * 100) : 0;
61
+ console.log(` ${name.padEnd(40)} │ ${m.totalTime.toFixed(2).padStart(8)}ms │ ${m.avgTime.toFixed(2).padStart(7)}ms avg │ ${pct.toFixed(1).padStart(5)}% │ ${m.count.toString().padStart(4)} calls`);
62
+ });
63
+ console.log('═'.repeat(90));
64
+ console.log('šŸŽÆ End of Performance Report\n');
65
+ }
66
+ }
67
+ exports.perfTracker = new PerfTracker();
68
+ //# sourceMappingURL=PerfTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerfTracker.js","sourceRoot":"","sources":["../../src/PerfTracker.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export * from './process';
16
16
  export * from './platform';
17
17
  export * from './FileRepository';
18
18
  export * from './decorators';
19
+ export * from './PerfTracker';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -37,4 +37,5 @@ __exportStar(require("./process"), exports);
37
37
  __exportStar(require("./platform"), exports);
38
38
  __exportStar(require("./FileRepository"), exports);
39
39
  __exportStar(require("./decorators"), exports);
40
+ __exportStar(require("./PerfTracker"), exports);
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAKe;AAJb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AAEf,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAKe;AAJb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AAEf,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,gDAA8B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubejs-backend/shared",
3
- "version": "1.3.67",
3
+ "version": "1.3.69",
4
4
  "description": "Shared code for Cube.js backend packages",
5
5
  "main": "dist/src/index.js",
6
6
  "typings": "dist/src/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "author": "Cube Dev, Inc.",
23
23
  "license": "Apache-2.0",
24
24
  "devDependencies": {
25
- "@cubejs-backend/linter": "1.3.67",
25
+ "@cubejs-backend/linter": "1.3.69",
26
26
  "@types/bytes": "^3.1.5",
27
27
  "@types/cli-progress": "^3.9.1",
28
28
  "@types/decompress": "^4.2.7",
@@ -61,5 +61,5 @@
61
61
  "resolutions": {
62
62
  "colors": "1.4.0"
63
63
  },
64
- "gitHead": "ec559b59320ab4cb29700b82f1fddf6c7c0a9ebe"
64
+ "gitHead": "96908c381719814b50f7392def784882a196cbae"
65
65
  }