@nsshunt/stsappframework 3.0.84 → 3.0.86
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/middleware/serverNetworkMiddleware.js +6 -8
- package/dist/middleware/serverNetworkMiddleware.js.map +1 -1
- package/dist/testing/appsolo.js +63 -0
- package/dist/testing/appsolo.js.map +1 -0
- package/package.json +1 -1
- package/src/middleware/serverNetworkMiddleware.ts +0 -3
- package/src/testing/appsolo.ts +86 -0
- package/types/middleware/serverNetworkMiddleware.d.ts.map +1 -1
- package/types/testing/appsolo.d.ts +3 -0
- package/types/testing/appsolo.d.ts.map +1 -0
|
@@ -72,19 +72,17 @@ class ServerNetworkMiddleware extends stsutils_1.STSOptionsBase {
|
|
|
72
72
|
};
|
|
73
73
|
this.#socketCollection[workingSocketRecord.id] = workingSocketRecord;
|
|
74
74
|
this.#debug(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
|
|
75
|
-
/*
|
|
76
75
|
workingSocketRecord.socket.on('data', () => {
|
|
77
|
-
workingSocketRecord = this.GetSocketRecord(
|
|
76
|
+
workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
|
|
78
77
|
if (workingSocketRecord) {
|
|
79
|
-
this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
|
|
78
|
+
this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
|
|
80
79
|
this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
|
|
80
|
+
this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.#debug(`Socket close event: Could not find socket within recordset`.magenta);
|
|
85
84
|
}
|
|
86
85
|
});
|
|
87
|
-
*/
|
|
88
86
|
workingSocketRecord.socket.on('close', () => {
|
|
89
87
|
workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
|
|
90
88
|
if (workingSocketRecord) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";;;;;;AAGA,+CAA2C;AAE3C,kDAA+B;AAC/B,gDAAmD;AAEnD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEjD,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IACxC,uGAAmE,CAAA,CAAC,oBAAoB;AAC5F,CAAC,EAFW,gCAAgC,gDAAhC,gCAAgC,QAE3C;AAsBD,MAAa,uBAAwB,SAAQ,yBAAc;IAEvD,YAAY,GAAgB,IAAI,0BAAW,EAAE,CAAC;IAC9C,iBAAiB,GAAkC,EAAG,CAAC;IACvD,GAAG,GAAW,CAAC,CAAC;IAChB,MAAM,CAAM;IAEZ,YAAY,OAAiC;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACvB;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;IAED,EAAE,CAAC,SAA2C,EAAE,UAA4C;QACxF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,eAAe,GAAG,CAAC,MAAc,EAAwB,EAAE;QACvD,KAAK,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACnE,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE;gBAChC,OAAO,YAAY,CAAC;aACvB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAA;IAED,kBAAkB,GAAG,CAAC,mBAAkC,EAAE,SAAiB,EAAE,GAAY,EAAE,EAAE;QACzF,mBAAmB,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAClD,mBAAmB,CAAC,SAAS,GAAG,SAAS,CAAC;QAE1C,mBAAmB,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5D,mBAAmB,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QAElE,mBAAmB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CAAC;QAChH,mBAAmB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;QAEzH,gKAAgK;QAChK,sKAAsK;QAEtK,MAAM,wBAAwB,GAAG,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC5D,OAAQ,wBAAgC,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,+BAA+B,EAAE,wBAAwB,CAAC,CAAC;QAEnH,mBAAmB,CAAC,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;QACzE,mBAAmB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;IACnF,CAAC,CAAA;IAED,UAAU,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC7D,IAAI,mBAAmB,GAAyB,IAAI,CAAC;QAErD,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,EAAE;YACtB,IAAI,CAAC,GAAG,EAAE,CAAA;YACV,mBAAmB,GAAG;gBAClB,EAAE,EAAE,GAAI,IAAI,CAAC,OAAoC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC/E,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,gBAAgB,EAAE,CAAC;gBACnB,mBAAmB,EAAE,CAAC;gBACtB,aAAa,EAAE,CAAC;gBAChB,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,mBAAmB,EAAE,CAAC;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,EAAE;aAChB,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,wCAAwC,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;YAEtI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACvC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAE,mBAAqC,CAAC,MAAM,CAAC,CAAC;gBAC1F,IAAI,mBAAmB,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,4BAA4B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC1H,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,CAAC,uCAAuC,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;iBACxI;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,4DAA4D,CAAC,OAAO,CAAC,CAAA;iBACpF;YACL,CAAC,CAAC,CAAC;YAEH,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAE,mBAAqC,CAAC,MAAM,CAAC,CAAC;gBAC1F,IAAI,mBAAmB,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,4BAA4B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC1H,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;oBAClE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM,CAAC,uCAAuC,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;iBACxI;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,4DAA4D,CAAC,OAAO,CAAC,CAAA;iBACpF;YACL,CAAC,CAAC,CAAC;YAEH,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACtC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAE,mBAAqC,CAAC,MAAM,CAAC,CAAC;gBAC1F,IAAI,mBAAmB,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,0BAA0B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;oBACxH,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;iBACnE;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,0DAA0D,CAAC,OAAO,CAAC,CAAA;iBAClF;YACL,CAAC,CAAC,CAAC;SACN;QAED,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,mBAAmB,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,2BAA2B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;gBACzH,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aAChE;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,2DAA2D,CAAC,OAAO,CAAC,CAAA;aACnF;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,mBAAmB,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,6BAA6B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC3H,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;aAClE;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,6DAA6D,CAAC,OAAO,CAAC,CAAA;aACrF;QACL,CAAC,CAAC,CAAC;QAEH;;;;;;;;;;;;;;;;;;;;UAoBE;QAEF,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC;IACX,CAAC,CAAA;CACJ;AA1JD,0DA0JC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const oldResTx = [];
|
|
9
|
+
const oldResRx = [];
|
|
10
|
+
const newResRx = [];
|
|
11
|
+
const newResTx = [];
|
|
12
|
+
function getNetworkUsage(pidArray) {
|
|
13
|
+
try {
|
|
14
|
+
for (let i = 0; i < pidArray.length; i++) {
|
|
15
|
+
const pid = pidArray[i];
|
|
16
|
+
const filePath = `/proc/${pid}/net/dev`;
|
|
17
|
+
//const filePath = `/proc/${pid}/net/netstat`;
|
|
18
|
+
// Read the contents of the /proc/[pid]/net/dev file
|
|
19
|
+
const content = node_fs_1.default.readFileSync(filePath, 'utf8');
|
|
20
|
+
// Process the content to extract relevant information
|
|
21
|
+
const lines = content.trim().split('\n');
|
|
22
|
+
//console.log(lines[3]);
|
|
23
|
+
const headers1 = lines[0].split('|').map(header => header.trim());
|
|
24
|
+
const headers2 = lines[1].split('|').map(header => header.trim());
|
|
25
|
+
const data1 = lines[2].split('|').map(value => value.trim());
|
|
26
|
+
const data2 = lines[3].split(':').map(value => value.trim());
|
|
27
|
+
const uint8Array = Buffer.from(data2[1], 'utf-8');
|
|
28
|
+
const mystr = data2[1];
|
|
29
|
+
const result = mystr.replace(/\s+/g, ' ').trim().split(' ');
|
|
30
|
+
//console.log(`${result}`);
|
|
31
|
+
newResRx[i] = parseFloat(result[0]);
|
|
32
|
+
newResTx[i] = parseFloat(result[8]);
|
|
33
|
+
console.log(`${pid} ${i}: ${newResRx[i]} ${newResTx[i]} : ${(newResRx[i] - oldResRx[i]) / 1000000.0} ${(newResTx[i] - oldResTx[i]) / 1000000.0}`);
|
|
34
|
+
oldResTx[i] = newResTx[i];
|
|
35
|
+
oldResRx[i] = newResRx[i];
|
|
36
|
+
//console.log(uint8Array);
|
|
37
|
+
//console.log(data2[1].split('\t'));
|
|
38
|
+
// Find the index of the relevant network statistics (e.g., bytes received and transmitted)
|
|
39
|
+
//const rxIndex = headers.indexOf('Receive');
|
|
40
|
+
//const txIndex = headers.indexOf('Transmit');
|
|
41
|
+
// Display network usage information
|
|
42
|
+
/*
|
|
43
|
+
console.log(`Network Usage for Process ${pid}:`);
|
|
44
|
+
console.log(` Incoming: ${data[rxIndex]} bytes`);
|
|
45
|
+
console.log(` Outgoing: ${data[txIndex]} bytes`);
|
|
46
|
+
*/
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.error('Error reading file:', err);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
setInterval(function () {
|
|
54
|
+
/*
|
|
55
|
+
si.networkStats().then(data => {
|
|
56
|
+
console.log(data);
|
|
57
|
+
});
|
|
58
|
+
*/
|
|
59
|
+
getNetworkUsage([523493, 523552, 523553, 523554]);
|
|
60
|
+
//console.log(process.pid)
|
|
61
|
+
//getNetworkUsage()
|
|
62
|
+
}, 1000);
|
|
63
|
+
//# sourceMappingURL=appsolo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appsolo.js","sourceRoot":"","sources":["../../src/testing/appsolo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -106,19 +106,16 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
106
106
|
|
|
107
107
|
this.#debug(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
|
|
108
108
|
|
|
109
|
-
/*
|
|
110
109
|
workingSocketRecord.socket.on('data', () => {
|
|
111
110
|
workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
|
|
112
111
|
if (workingSocketRecord) {
|
|
113
112
|
this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
|
|
114
113
|
this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
|
|
115
|
-
delete this.#socketCollection[workingSocketRecord.id];
|
|
116
114
|
this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
|
|
117
115
|
} else {
|
|
118
116
|
this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
|
|
119
117
|
}
|
|
120
118
|
});
|
|
121
|
-
*/
|
|
122
119
|
|
|
123
120
|
workingSocketRecord.socket.on('close', () => {
|
|
124
121
|
workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
+
|
|
3
|
+
import fs from 'node:fs'
|
|
4
|
+
|
|
5
|
+
const oldResTx: number[] = []
|
|
6
|
+
const oldResRx: number[] = []
|
|
7
|
+
|
|
8
|
+
const newResRx: number[] = []
|
|
9
|
+
const newResTx: number[] = []
|
|
10
|
+
|
|
11
|
+
function getNetworkUsage(pidArray: number[]) {
|
|
12
|
+
try {
|
|
13
|
+
|
|
14
|
+
for (let i=0; i < pidArray.length; i++) {
|
|
15
|
+
|
|
16
|
+
const pid = pidArray[i];
|
|
17
|
+
|
|
18
|
+
const filePath = `/proc/${pid}/net/dev`;
|
|
19
|
+
//const filePath = `/proc/${pid}/net/netstat`;
|
|
20
|
+
|
|
21
|
+
// Read the contents of the /proc/[pid]/net/dev file
|
|
22
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
23
|
+
|
|
24
|
+
// Process the content to extract relevant information
|
|
25
|
+
const lines = content.trim().split('\n');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
//console.log(lines[3]);
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
const headers1 = lines[0].split('|').map(header => header.trim());
|
|
32
|
+
const headers2 = lines[1].split('|').map(header => header.trim());
|
|
33
|
+
const data1 = lines[2].split('|').map(value => value.trim());
|
|
34
|
+
const data2 = lines[3].split(':').map(value => value.trim());
|
|
35
|
+
|
|
36
|
+
const uint8Array = Buffer.from(data2[1], 'utf-8');
|
|
37
|
+
|
|
38
|
+
const mystr = data2[1];
|
|
39
|
+
|
|
40
|
+
const result = mystr.replace(/\s+/g, ' ').trim().split(' ');
|
|
41
|
+
|
|
42
|
+
//console.log(`${result}`);
|
|
43
|
+
|
|
44
|
+
newResRx[i] = parseFloat(result[0]);
|
|
45
|
+
newResTx[i] = parseFloat(result[8]);
|
|
46
|
+
|
|
47
|
+
console.log(`${pid} ${i}: ${newResRx[i]} ${newResTx[i]} : ${(newResRx[i] - oldResRx[i])/1000000.0} ${(newResTx[i] - oldResTx[i])/1000000.0}`);
|
|
48
|
+
|
|
49
|
+
oldResTx[i] = newResTx[i];
|
|
50
|
+
oldResRx[i] = newResRx[i];
|
|
51
|
+
|
|
52
|
+
//console.log(uint8Array);
|
|
53
|
+
|
|
54
|
+
//console.log(data2[1].split('\t'));
|
|
55
|
+
|
|
56
|
+
// Find the index of the relevant network statistics (e.g., bytes received and transmitted)
|
|
57
|
+
//const rxIndex = headers.indexOf('Receive');
|
|
58
|
+
//const txIndex = headers.indexOf('Transmit');
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
// Display network usage information
|
|
62
|
+
/*
|
|
63
|
+
console.log(`Network Usage for Process ${pid}:`);
|
|
64
|
+
console.log(` Incoming: ${data[rxIndex]} bytes`);
|
|
65
|
+
console.log(` Outgoing: ${data[txIndex]} bytes`);
|
|
66
|
+
*/
|
|
67
|
+
}
|
|
68
|
+
} catch (err) {
|
|
69
|
+
console.error('Error reading file:', err);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
setInterval(function() {
|
|
74
|
+
/*
|
|
75
|
+
si.networkStats().then(data => {
|
|
76
|
+
console.log(data);
|
|
77
|
+
});
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
getNetworkUsage([ 523493, 523552, 523553, 523554]);
|
|
81
|
+
|
|
82
|
+
//console.log(process.pid)
|
|
83
|
+
|
|
84
|
+
//getNetworkUsage()
|
|
85
|
+
|
|
86
|
+
}, 1000)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAO3C,OAAO,EAAE,wBAAwB;IAS7C,EAAE,CAAC,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,gCAAgC;IAI5F,eAAe,WAAY,MAAM,KAAG,aAAa,GAAG,IAAI,CAOvD;IAED,kBAAkB,wBAAyB,aAAa,aAAa,MAAM,OAAO,OAAO,UAoBxF;IAED,UAAU,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,
|
|
1
|
+
{"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAO3C,OAAO,EAAE,wBAAwB;IAS7C,EAAE,CAAC,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,gCAAgC;IAI5F,eAAe,WAAY,MAAM,KAAG,aAAa,GAAG,IAAI,CAOvD;IAED,kBAAkB,wBAAyB,aAAa,aAAa,MAAM,OAAO,OAAO,UAoBxF;IAED,UAAU,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAsG5D;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appsolo.d.ts","sourceRoot":"","sources":["../../src/testing/appsolo.ts"],"names":[],"mappings":""}
|