@peerbit/test-utils 2.0.42 → 2.0.43-a3e5123
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.
- package/dist/src/log-utils.d.ts +5 -0
- package/dist/src/log-utils.d.ts.map +1 -0
- package/dist/src/log-utils.js +49 -0
- package/dist/src/log-utils.js.map +1 -0
- package/dist/src/session.d.ts.map +1 -1
- package/dist/src/session.js +3 -0
- package/dist/src/session.js.map +1 -1
- package/package.json +79 -75
- package/src/log-utils.ts +60 -0
- package/src/session.ts +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-utils.d.ts","sourceRoot":"","sources":["../../src/log-utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,iBACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,uBAC/B,MAAM,SAsD1B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import Table from "tty-table";
|
|
3
|
+
export const printMemoryUsage = (memoryUsages, progressColumnName = "progress") => {
|
|
4
|
+
// do ascii graph
|
|
5
|
+
let max = Math.max(...memoryUsages.map((x) => x.value));
|
|
6
|
+
let min = Math.min(...memoryUsages.map((x) => x.value));
|
|
7
|
+
let range = max - min;
|
|
8
|
+
let steps = 300;
|
|
9
|
+
let step = range / steps;
|
|
10
|
+
let buckets = Array.from({ length: steps }, (_, i) => {
|
|
11
|
+
return min + i * step;
|
|
12
|
+
});
|
|
13
|
+
let lines = memoryUsages.map((memory) => {
|
|
14
|
+
/* let bucket = Math.floor((memory - min) / step) */
|
|
15
|
+
return Array.from({ length: steps }, (_, i) => {
|
|
16
|
+
return memory.value > buckets[i] ? "█" : " ";
|
|
17
|
+
}).join("");
|
|
18
|
+
});
|
|
19
|
+
console.log("Memory Usage Graph");
|
|
20
|
+
// do a nicely tty-table formatted table with "Memory ascii", "Memory bytes (mb)", "# of inserts".
|
|
21
|
+
const colorString = (bytes, string) => {
|
|
22
|
+
// color encode byte values so that the highest get red color and lowest get green color
|
|
23
|
+
// and values in between get a color in in shades of red and green
|
|
24
|
+
let colors = Array.from({ length: steps + 1 }, (_, i) => {
|
|
25
|
+
let r = Math.floor(255 * (i / steps));
|
|
26
|
+
let g = Math.floor(255 * ((steps - i) / steps));
|
|
27
|
+
let b = 0;
|
|
28
|
+
return `38;2;${r};${g};${b}`;
|
|
29
|
+
});
|
|
30
|
+
let bucket = Math.floor((bytes - min) / step);
|
|
31
|
+
let color = colors[bucket];
|
|
32
|
+
return `\x1b[${color}m${string}\x1b[0m`;
|
|
33
|
+
};
|
|
34
|
+
let table = Table([
|
|
35
|
+
{ value: "Memory usage (*)", width: steps + 2, align: "left" },
|
|
36
|
+
{ value: "Memory bytes (mb)" },
|
|
37
|
+
{ value: progressColumnName },
|
|
38
|
+
], lines.map((line, i) => {
|
|
39
|
+
return [
|
|
40
|
+
{ value: colorString(memoryUsages[i].value, line) },
|
|
41
|
+
{ value: Math.round(memoryUsages[i].value / 1e6) },
|
|
42
|
+
{ value: memoryUsages[i].progress /* insertBatchSize * (i + 1) */ },
|
|
43
|
+
];
|
|
44
|
+
}));
|
|
45
|
+
console.log(table.render());
|
|
46
|
+
console.log("Max memory usage", Math.round(max / 1e6), "mb");
|
|
47
|
+
console.log("Min memory usage", Math.round(min / 1e6), "mb");
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=log-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-utils.js","sourceRoot":"","sources":["../../src/log-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEhE,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1E,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAY;gBACd,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAKrE,IAAW,KAAK,IAAI,aAAa,EAAE,CAElC;IAEK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE;IAIlC,IAAI;WAKG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAY9D,YAAY,CACxB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEhE,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1E,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAY;gBACd,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAKrE,IAAW,KAAK,IAAI,aAAa,EAAE,CAElC;IAEK,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE;IAIlC,IAAI;WAKG,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAY9D,YAAY,CACxB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;CAkC1C"}
|
package/dist/src/session.js
CHANGED
package/dist/src/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAEN,YAAY,IAAI,mBAAmB,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAsB,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAIN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,MAAM,OAAO,WAAW;IACf,OAAO,CAAiC;IACxC,MAAM,CAAY;IAC1B,YAAY,OAAuC,EAAE,KAAgB;QACpE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA0B;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IACD,KAAK,CAAC,IAAI;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uEAAuE;IACpI,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,OAAyC;QAC1E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,aAAa;QACb,MAAM,mBAAmB,CACxB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAkC,CACpD,CACD,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,CAAS,EACT,OAAyC;QAEzC,MAAM,CAAC,GAAG,CAAC,CAAiB,EAAmC,EAAE;YAChE,OAAO;gBACN,GAAG,CAAC,EAAE,MAAM;gBACZ,QAAQ,EAAE;oBACT,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;oBACtC,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;oBAC/D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE;oBACrC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ;iBACf,EAAE,cAAc;gBACxB,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,77 +1,81 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
2
|
+
"name": "@peerbit/test-utils",
|
|
3
|
+
"version": "2.0.43-a3e5123",
|
|
4
|
+
"description": "Test utils for Peerbit",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./dist/src/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
"*": {
|
|
10
|
+
"*": [
|
|
11
|
+
"*",
|
|
12
|
+
"dist/*",
|
|
13
|
+
"dist/src/*",
|
|
14
|
+
"dist/src/*/index"
|
|
15
|
+
],
|
|
16
|
+
"src/*": [
|
|
17
|
+
"*",
|
|
18
|
+
"dist/*",
|
|
19
|
+
"dist/src/*",
|
|
20
|
+
"dist/src/*/index"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"src",
|
|
26
|
+
"dist",
|
|
27
|
+
"!dist/e2e",
|
|
28
|
+
"!dist/test",
|
|
29
|
+
"!**/*.tsbuildinfo"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
"./log-utils.js": {
|
|
33
|
+
"types": "./dist/src/log-utils.d.ts",
|
|
34
|
+
"import": "./dist/src/log-utils.js"
|
|
35
|
+
},
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./dist/src/index.d.ts",
|
|
38
|
+
"import": "./dist/src/index.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"eslintConfig": {
|
|
42
|
+
"extends": "peerbit",
|
|
43
|
+
"parserOptions": {
|
|
44
|
+
"project": true,
|
|
45
|
+
"sourceType": "module"
|
|
46
|
+
},
|
|
47
|
+
"ignorePatterns": [
|
|
48
|
+
"!.aegir.js",
|
|
49
|
+
"test/ts-use",
|
|
50
|
+
"*.d.ts"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"access": "public"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"clean": "aegir clean",
|
|
58
|
+
"build": "aegir build --no-bundle",
|
|
59
|
+
"test": "aegir test -t node",
|
|
60
|
+
"lint": "aegir lint"
|
|
61
|
+
},
|
|
62
|
+
"repository": {
|
|
63
|
+
"type": "git",
|
|
64
|
+
"url": "https://github.com/dao-xyz/peerbit"
|
|
65
|
+
},
|
|
66
|
+
"engines": {
|
|
67
|
+
"node": ">=16.15.1"
|
|
68
|
+
},
|
|
69
|
+
"author": "dao.xyz",
|
|
70
|
+
"license": "MIT",
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@peerbit/libp2p-test-utils": "2.1.5-a3e5123",
|
|
73
|
+
"peerbit": "4.0.17-a3e5123"
|
|
74
|
+
},
|
|
75
|
+
"devDependencies": {
|
|
76
|
+
"@peerbit/time": "2.0.7-a3e5123"
|
|
77
|
+
},
|
|
78
|
+
"localMaintainers": [
|
|
79
|
+
"dao.xyz"
|
|
80
|
+
]
|
|
77
81
|
}
|
package/src/log-utils.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import Table from "tty-table";
|
|
3
|
+
|
|
4
|
+
export const printMemoryUsage = (
|
|
5
|
+
memoryUsages: { value: number; progress: number }[],
|
|
6
|
+
progressColumnName: string = "progress",
|
|
7
|
+
) => {
|
|
8
|
+
// do ascii graph
|
|
9
|
+
let max = Math.max(...memoryUsages.map((x) => x.value));
|
|
10
|
+
let min = Math.min(...memoryUsages.map((x) => x.value));
|
|
11
|
+
let range = max - min;
|
|
12
|
+
let steps = 300;
|
|
13
|
+
let step = range / steps;
|
|
14
|
+
let buckets = Array.from({ length: steps }, (_, i) => {
|
|
15
|
+
return min + i * step;
|
|
16
|
+
});
|
|
17
|
+
let lines = memoryUsages.map((memory) => {
|
|
18
|
+
/* let bucket = Math.floor((memory - min) / step) */
|
|
19
|
+
return Array.from({ length: steps }, (_, i) => {
|
|
20
|
+
return memory.value > buckets[i] ? "█" : " ";
|
|
21
|
+
}).join("");
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
console.log("Memory Usage Graph");
|
|
25
|
+
|
|
26
|
+
// do a nicely tty-table formatted table with "Memory ascii", "Memory bytes (mb)", "# of inserts".
|
|
27
|
+
|
|
28
|
+
const colorString = (bytes: number, string: string) => {
|
|
29
|
+
// color encode byte values so that the highest get red color and lowest get green color
|
|
30
|
+
// and values in between get a color in in shades of red and green
|
|
31
|
+
let colors = Array.from({ length: steps + 1 }, (_, i) => {
|
|
32
|
+
let r = Math.floor(255 * (i / steps));
|
|
33
|
+
let g = Math.floor(255 * ((steps - i) / steps));
|
|
34
|
+
let b = 0;
|
|
35
|
+
return `38;2;${r};${g};${b}`;
|
|
36
|
+
});
|
|
37
|
+
let bucket = Math.floor((bytes - min) / step);
|
|
38
|
+
let color = colors[bucket];
|
|
39
|
+
return `\x1b[${color}m${string}\x1b[0m`;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
let table = Table(
|
|
43
|
+
[
|
|
44
|
+
{ value: "Memory usage (*)", width: steps + 2, align: "left" },
|
|
45
|
+
{ value: "Memory bytes (mb)" },
|
|
46
|
+
{ value: progressColumnName },
|
|
47
|
+
],
|
|
48
|
+
lines.map((line, i) => {
|
|
49
|
+
return [
|
|
50
|
+
{ value: colorString(memoryUsages[i].value, line) },
|
|
51
|
+
{ value: Math.round(memoryUsages[i].value / 1e6) },
|
|
52
|
+
{ value: memoryUsages[i].progress /* insertBatchSize * (i + 1) */ },
|
|
53
|
+
];
|
|
54
|
+
}),
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
console.log(table.render());
|
|
58
|
+
console.log("Max memory usage", Math.round(max / 1e6), "mb");
|
|
59
|
+
console.log("Min memory usage", Math.round(min / 1e6), "mb");
|
|
60
|
+
};
|