@nestia/benchmark 0.2.0 → 0.2.1

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.
@@ -36,7 +36,7 @@ var DynamicBenchmarWriter;
36
36
  var format = function (value) {
37
37
  return value === null ? "N/A" : (Math.floor(value * 100) / 100).toLocaleString();
38
38
  };
39
- var writeHead = function () {
39
+ var head = function () {
40
40
  return [
41
41
  "Type",
42
42
  "Count",
@@ -49,7 +49,7 @@ var DynamicBenchmarWriter;
49
49
  "\n" +
50
50
  new Array(7).fill("----").join("|");
51
51
  };
52
- var writeRow = function (title, s) {
52
+ var row = function (title, s) {
53
53
  return [
54
54
  title,
55
55
  s.count.toLocaleString(),
@@ -60,6 +60,12 @@ var DynamicBenchmarWriter;
60
60
  format(s.maximum),
61
61
  ].join(" | ");
62
62
  };
63
+ var line = function (getter) {
64
+ return "line [".concat(report.memories.map(function (m) { return Math.floor(getter(m.usage) / Math.pow(1024, 2)); }).join(", "), "]");
65
+ };
66
+ var legend = function (color, label) {
67
+ return "<font color='".concat(color, "'>\u25A0</font> ").concat(label);
68
+ };
63
69
  return __spreadArray(__spreadArray(__spreadArray([
64
70
  "# Benchmark Report",
65
71
  "> Generated by [`@nestia/benchmark`](https://github.com/samchon/nestia)",
@@ -78,8 +84,8 @@ var DynamicBenchmarWriter;
78
84
  " - Complete: ".concat(report.completed_at),
79
85
  " - Elapsed: ".concat((new Date(report.completed_at).getTime() - new Date(report.started_at).getTime()).toLocaleString(), " ms"),
80
86
  "",
81
- writeHead(),
82
- writeRow("Total", report.statistics),
87
+ head(),
88
+ row("Total", report.statistics),
83
89
  "",
84
90
  "> Unit: milliseconds",
85
91
  "",
@@ -88,16 +94,24 @@ var DynamicBenchmarWriter;
88
94
  "xychart-beta",
89
95
  " x-axis \"Time (second)\"",
90
96
  " y-axis \"Memory (MB)\"",
91
- " line [".concat(report.memories.map(function (m) { return Math.floor((m.usage.heapUsed + m.usage.external) / Math.pow(1024, 2)); }).join(", "), "]"),
97
+ " ".concat(line(function (m) { return m.rss; })),
98
+ " ".concat(line(function (m) { return m.heapTotal; })),
99
+ " ".concat(line(function (m) { return m.heapUsed + m.external; })),
100
+ " ".concat(line(function (m) { return m.heapUsed; })),
92
101
  "```",
93
102
  "",
103
+ " - ".concat(legend("#5193d1", "Resident Set Size")),
104
+ " - ".concat(legend("#64c779", "Heap Total")),
105
+ " - ".concat(legend("#c85443", "Heap Used + External")),
106
+ " - ".concat(legend("#eac644", "Heap Used Only")),
107
+ "",
94
108
  "## Endpoints",
95
- writeHead()
109
+ head()
96
110
  ], __read(report.endpoints
97
111
  .slice()
98
112
  .sort(function (a, b) { var _a, _b; return ((_a = b.mean) !== null && _a !== void 0 ? _a : 0) - ((_b = a.mean) !== null && _b !== void 0 ? _b : 0); })
99
113
  .map(function (endpoint) {
100
- return writeRow("".concat(endpoint.method, " ").concat(endpoint.path), endpoint);
114
+ return row("".concat(endpoint.method, " ").concat(endpoint.path), endpoint);
101
115
  })), false), [
102
116
  "",
103
117
  "> Unit: milliseconds",
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicBenchmarkReporter.js","sourceRoot":"","sources":["../../src/internal/DynamicBenchmarkReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicBenchmarkReporter.js","sourceRoot":"","sources":["../../src/internal/DynamicBenchmarkReporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/benchmark",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "NestJS Performance Benchmark Program",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -6,7 +6,7 @@ export namespace DynamicBenchmarWriter {
6
6
  export const markdown = (report: DynamicBenchmarker.IReport): string => {
7
7
  const format = (value: number | null) =>
8
8
  value === null ? "N/A" : (Math.floor(value * 100) / 100).toLocaleString();
9
- const writeHead = () =>
9
+ const head = () =>
10
10
  [
11
11
  "Type",
12
12
  "Count",
@@ -18,10 +18,7 @@ export namespace DynamicBenchmarWriter {
18
18
  ].join(" | ") +
19
19
  "\n" +
20
20
  new Array(7).fill("----").join("|");
21
- const writeRow = (
22
- title: string,
23
- s: DynamicBenchmarker.IReport.IStatistics,
24
- ) =>
21
+ const row = (title: string, s: DynamicBenchmarker.IReport.IStatistics) =>
25
22
  [
26
23
  title,
27
24
  s.count.toLocaleString(),
@@ -31,6 +28,11 @@ export namespace DynamicBenchmarWriter {
31
28
  format(s.minimum),
32
29
  format(s.maximum),
33
30
  ].join(" | ");
31
+ const line = (getter: (m: NodeJS.MemoryUsage) => number): string =>
32
+ `line [${report.memories.map((m) => Math.floor(getter(m.usage) / 1024 ** 2)).join(", ")}]`;
33
+ const legend = (color: string, label: string): string =>
34
+ `<font color='${color}'>■</font> ${label}`;
35
+
34
36
  return [
35
37
  `# Benchmark Report`,
36
38
  "> Generated by [`@nestia/benchmark`](https://github.com/samchon/nestia)",
@@ -49,8 +51,8 @@ export namespace DynamicBenchmarWriter {
49
51
  ` - Complete: ${report.completed_at}`,
50
52
  ` - Elapsed: ${(new Date(report.completed_at).getTime() - new Date(report.started_at).getTime()).toLocaleString()} ms`,
51
53
  ``,
52
- writeHead(),
53
- writeRow("Total", report.statistics),
54
+ head(),
55
+ row("Total", report.statistics),
54
56
  "",
55
57
  "> Unit: milliseconds",
56
58
  "",
@@ -59,16 +61,24 @@ export namespace DynamicBenchmarWriter {
59
61
  "xychart-beta",
60
62
  ` x-axis "Time (second)"`,
61
63
  ` y-axis "Memory (MB)"`,
62
- ` line [${report.memories.map((m) => Math.floor((m.usage.heapUsed + m.usage.external) / 1024 ** 2)).join(", ")}]`,
64
+ ` ${line((m) => m.rss)}`,
65
+ ` ${line((m) => m.heapTotal)}`,
66
+ ` ${line((m) => m.heapUsed + m.external)}`,
67
+ ` ${line((m) => m.heapUsed)}`,
63
68
  "```",
64
69
  "",
70
+ ` - ${legend("#5193d1", "Resident Set Size")}`,
71
+ ` - ${legend("#64c779", "Heap Total")}`,
72
+ ` - ${legend("#c85443", "Heap Used + External")}`,
73
+ ` - ${legend("#eac644", "Heap Used Only")}`,
74
+ "",
65
75
  "## Endpoints",
66
- writeHead(),
76
+ head(),
67
77
  ...report.endpoints
68
78
  .slice()
69
79
  .sort((a, b) => (b.mean ?? 0) - (a.mean ?? 0))
70
80
  .map((endpoint) =>
71
- writeRow(`${endpoint.method} ${endpoint.path}`, endpoint),
81
+ row(`${endpoint.method} ${endpoint.path}`, endpoint),
72
82
  ),
73
83
  "",
74
84
  "> Unit: milliseconds",