@nsshunt/stsappframework 3.0.82 → 3.0.84

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.
@@ -72,6 +72,19 @@ 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
+ workingSocketRecord.socket.on('data', () => {
77
+ workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
78
+ if (workingSocketRecord) {
79
+ this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
80
+ this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
81
+ delete this.#socketCollection[workingSocketRecord.id];
82
+ this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
83
+ } else {
84
+ this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
85
+ }
86
+ });
87
+ */
75
88
  workingSocketRecord.socket.on('close', () => {
76
89
  workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
77
90
  if (workingSocketRecord) {
@@ -94,27 +107,48 @@ class ServerNetworkMiddleware extends stsutils_1.STSOptionsBase {
94
107
  this.#debug(`Socket end event: Could not find socket within recordset`.magenta);
95
108
  }
96
109
  });
97
- req.on('end', () => {
98
- workingSocketRecord = this.GetSocketRecord(req.socket);
99
- if (workingSocketRecord) {
100
- this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
101
- this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
102
- }
103
- else {
104
- this.#debug(`Request end event: Could not find socket within recordset`.magenta);
105
- }
106
- });
107
- req.on('close', () => {
108
- workingSocketRecord = this.GetSocketRecord(req.socket);
109
- if (workingSocketRecord) {
110
- this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
111
- this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
112
- }
113
- else {
114
- this.#debug(`Request close event: Could not find socket within recordset`.magenta);
115
- }
116
- });
117
110
  }
111
+ req.on('end', () => {
112
+ workingSocketRecord = this.GetSocketRecord(req.socket);
113
+ if (workingSocketRecord) {
114
+ this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
115
+ this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
116
+ }
117
+ else {
118
+ this.#debug(`Request end event: Could not find socket within recordset`.magenta);
119
+ }
120
+ });
121
+ req.on('close', () => {
122
+ workingSocketRecord = this.GetSocketRecord(req.socket);
123
+ if (workingSocketRecord) {
124
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
125
+ this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
126
+ }
127
+ else {
128
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta);
129
+ }
130
+ });
131
+ /*
132
+ req.on('data', () => {
133
+ workingSocketRecord = this.GetSocketRecord(req.socket);
134
+ if (workingSocketRecord) {
135
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
136
+ this.UpdateNetworkStats(workingSocketRecord, 'data', req);
137
+ } else {
138
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta)
139
+ }
140
+ });
141
+
142
+ req.on('readable', () => {
143
+ workingSocketRecord = this.GetSocketRecord(req.socket);
144
+ if (workingSocketRecord) {
145
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
146
+ this.UpdateNetworkStats(workingSocketRecord, 'readable', req);
147
+ } else {
148
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta)
149
+ }
150
+ });
151
+ */
118
152
  this.UpdateNetworkStats(workingSocketRecord, 'middleware', req);
119
153
  next();
120
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";;;;;;AAGA,+CAA2C;AAE3C,kDAA+B;AAC/B,gDAAmD;AACnD,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,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;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,mBAAmB,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,2BAA2B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;oBACzH,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAChE;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,2DAA2D,CAAC,OAAO,CAAC,CAAA;iBACnF;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjB,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,mBAAmB,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,6BAA6B,mBAAmB,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC3H,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;iBAClE;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,6DAA6D,CAAC,OAAO,CAAC,CAAA;iBACrF;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC;IACX,CAAC,CAAA;CACJ;AAzHD,0DAyHC"}
1
+ {"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
@@ -7,13 +8,45 @@ const appConfig_1 = require("./appConfig");
7
8
  const __1 = require("./..");
8
9
  const appWorkerWSS_1 = require("./appWorkerWSS");
9
10
  const cluster_1 = __importDefault(require("cluster"));
10
- const systeminformation_1 = __importDefault(require("systeminformation")); // https://systeminformation.io/
11
+ const node_fs_1 = __importDefault(require("node:fs"));
12
+ //const pid = process.pid;
13
+ const pid = 523552;
14
+ const filePath = `/proc/${pid}/net/dev`;
15
+ function getNetworkUsage() {
16
+ try {
17
+ // Read the contents of the /proc/[pid]/net/dev file
18
+ const content = node_fs_1.default.readFileSync(filePath, 'utf8');
19
+ // Process the content to extract relevant information
20
+ const lines = content.trim().split('\n');
21
+ const headers1 = lines[0].split('|').map(header => header.trim());
22
+ const headers2 = lines[1].split('|').map(header => header.trim());
23
+ const data = lines[2].split('|').map(value => value.trim());
24
+ console.log(data);
25
+ // Find the index of the relevant network statistics (e.g., bytes received and transmitted)
26
+ //const rxIndex = headers.indexOf('Receive');
27
+ //const txIndex = headers.indexOf('Transmit');
28
+ // Display network usage information
29
+ /*
30
+ console.log(`Network Usage for Process ${pid}:`);
31
+ console.log(` Incoming: ${data[rxIndex]} bytes`);
32
+ console.log(` Outgoing: ${data[txIndex]} bytes`);
33
+ */
34
+ }
35
+ catch (err) {
36
+ console.error('Error reading file:', err);
37
+ }
38
+ }
11
39
  if (cluster_1.default.isPrimary) {
12
40
  new __1.MasterProcessBase((0, appConfig_1.ServiceConfigOptions)(true, cluster_1.default.isPrimary)).SetupServer();
13
41
  setInterval(function () {
14
- systeminformation_1.default.networkStats().then(data => {
42
+ /*
43
+ si.networkStats().then(data => {
15
44
  console.log(data);
16
45
  });
46
+ */
47
+ getNetworkUsage();
48
+ //console.log(process.pid)
49
+ //getNetworkUsage()
17
50
  }, 1000);
18
51
  }
19
52
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/testing/app.ts"],"names":[],"mappings":";;;;;AAAA,2CAAkD;AAClD,4BAAwC;AACxC,iDAA8C;AAE9C,sDAA8B;AAE9B,0EAAkC,CAAC,gCAAgC;AAEnE,IAAI,iBAAO,CAAC,SAAS,EAAE;IACnB,IAAI,qBAAiB,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnF,WAAW,CAAC;QACR,2BAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,IAAI,CAAC,CAAA;CAEX;KAAM;IACH,IAAI,4BAAa,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;CAClF"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/testing/app.ts"],"names":[],"mappings":";AAAA,wFAAwF,CAAE,UAAU;;;;;AAEpG,2CAAkD;AAClD,4BAAwC;AACxC,iDAA8C;AAE9C,sDAA8B;AAM9B,sDAAwB;AAExB,0BAA0B;AAC1B,MAAM,GAAG,GAAG,MAAM,CAAA;AAElB,MAAM,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAExC,SAAS,eAAe;IACpB,IAAI;QACA,oDAAoD;QACpD,MAAM,OAAO,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElD,sDAAsD;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,2FAA2F;QAC3F,6CAA6C;QAC7C,8CAA8C;QAE9C,oCAAoC;QACpC;;;;QAIA;KACH;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;KAC7C;AACL,CAAC;AAED,IAAI,iBAAO,CAAC,SAAS,EAAE;IACnB,IAAI,qBAAiB,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnF,WAAW,CAAC;QACR;;;;UAIE;QAEF,eAAe,EAAE,CAAA;QAEjB,0BAA0B;QAE1B,mBAAmB;IAEvB,CAAC,EAAE,IAAI,CAAC,CAAA;CAEX;KAAM;IACH,IAAI,4BAAa,CAAC,IAAA,gCAAoB,EAAC,IAAI,EAAE,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;CAClF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.0.82",
3
+ "version": "3.0.84",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
package/runtest1.sh CHANGED
@@ -21,4 +21,4 @@ HTTPS_SERVER_CERT_PATH=/etc/letsencrypt/live/stsmda.org/fullchain.pem \
21
21
  DEBUG=proc* \
22
22
  PUBLISH_DEBUG=false \
23
23
  UV_THREADPOOL_SIZE=64 \
24
- node dist/testing/app
24
+ node dist/testing/appsolo
@@ -5,6 +5,7 @@ import { TinyEmitter } from 'tiny-emitter';
5
5
 
6
6
  import debugModule from 'debug'
7
7
  import { STSOptionsBase } from '@nsshunt/stsutils';
8
+ import { CompareSTSInstrumentControllerPluginKey } from '@nsshunt/stspublisherserver';
8
9
  const debug = debugModule(`proc:${process.pid}`);
9
10
 
10
11
  export enum ServerNetworkMiddlewareEventName {
@@ -105,6 +106,20 @@ export class ServerNetworkMiddleware extends STSOptionsBase
105
106
 
106
107
  this.#debug(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
107
108
 
109
+ /*
110
+ workingSocketRecord.socket.on('data', () => {
111
+ workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
112
+ if (workingSocketRecord) {
113
+ this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
114
+ this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
115
+ delete this.#socketCollection[workingSocketRecord.id];
116
+ this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
117
+ } else {
118
+ this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
119
+ }
120
+ });
121
+ */
122
+
108
123
  workingSocketRecord.socket.on('close', () => {
109
124
  workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
110
125
  if (workingSocketRecord) {
@@ -126,28 +141,50 @@ export class ServerNetworkMiddleware extends STSOptionsBase
126
141
  this.#debug(`Socket end event: Could not find socket within recordset`.magenta)
127
142
  }
128
143
  });
129
-
130
- req.on('end', () => {
131
- workingSocketRecord = this.GetSocketRecord(req.socket);
132
- if (workingSocketRecord) {
133
- this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
134
- this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
135
- } else {
136
- this.#debug(`Request end event: Could not find socket within recordset`.magenta)
137
- }
138
- });
139
-
140
- req.on('close', () => {
141
- workingSocketRecord = this.GetSocketRecord(req.socket);
142
- if (workingSocketRecord) {
143
- this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
144
- this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
145
- } else {
146
- this.#debug(`Request close event: Could not find socket within recordset`.magenta)
147
- }
148
- });
149
144
  }
150
145
 
146
+ req.on('end', () => {
147
+ workingSocketRecord = this.GetSocketRecord(req.socket);
148
+ if (workingSocketRecord) {
149
+ this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
150
+ this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
151
+ } else {
152
+ this.#debug(`Request end event: Could not find socket within recordset`.magenta)
153
+ }
154
+ });
155
+
156
+ req.on('close', () => {
157
+ workingSocketRecord = this.GetSocketRecord(req.socket);
158
+ if (workingSocketRecord) {
159
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
160
+ this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
161
+ } else {
162
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta)
163
+ }
164
+ });
165
+
166
+ /*
167
+ req.on('data', () => {
168
+ workingSocketRecord = this.GetSocketRecord(req.socket);
169
+ if (workingSocketRecord) {
170
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
171
+ this.UpdateNetworkStats(workingSocketRecord, 'data', req);
172
+ } else {
173
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta)
174
+ }
175
+ });
176
+
177
+ req.on('readable', () => {
178
+ workingSocketRecord = this.GetSocketRecord(req.socket);
179
+ if (workingSocketRecord) {
180
+ this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
181
+ this.UpdateNetworkStats(workingSocketRecord, 'readable', req);
182
+ } else {
183
+ this.#debug(`Request close event: Could not find socket within recordset`.magenta)
184
+ }
185
+ });
186
+ */
187
+
151
188
  this.UpdateNetworkStats(workingSocketRecord, 'middleware', req);
152
189
 
153
190
  next();
@@ -1,3 +1,5 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+
1
3
  import { ServiceConfigOptions } from './appConfig'
2
4
  import { MasterProcessBase } from './..'
3
5
  import { WorkerProcess } from './appWorkerWSS'
@@ -6,13 +8,59 @@ import cluster from 'cluster';
6
8
 
7
9
  import si from 'systeminformation' // https://systeminformation.io/
8
10
 
11
+ import pidusage from 'pidusage'
12
+
13
+ import fs from 'node:fs'
14
+
15
+ //const pid = process.pid;
16
+ const pid = 523552
17
+
18
+ const filePath = `/proc/${pid}/net/dev`;
19
+
20
+ function getNetworkUsage() {
21
+ try {
22
+ // Read the contents of the /proc/[pid]/net/dev file
23
+ const content = fs.readFileSync(filePath, 'utf8');
24
+
25
+ // Process the content to extract relevant information
26
+ const lines = content.trim().split('\n');
27
+ const headers1 = lines[0].split('|').map(header => header.trim());
28
+ const headers2 = lines[1].split('|').map(header => header.trim());
29
+ const data = lines[2].split('|').map(value => value.trim());
30
+
31
+ console.log(data);
32
+
33
+ // Find the index of the relevant network statistics (e.g., bytes received and transmitted)
34
+ //const rxIndex = headers.indexOf('Receive');
35
+ //const txIndex = headers.indexOf('Transmit');
36
+
37
+ // Display network usage information
38
+ /*
39
+ console.log(`Network Usage for Process ${pid}:`);
40
+ console.log(` Incoming: ${data[rxIndex]} bytes`);
41
+ console.log(` Outgoing: ${data[txIndex]} bytes`);
42
+ */
43
+ } catch (err) {
44
+ console.error('Error reading file:', err);
45
+ }
46
+ }
47
+
9
48
  if (cluster.isPrimary) {
10
49
  new MasterProcessBase(ServiceConfigOptions(true, cluster.isPrimary)).SetupServer();
11
50
 
12
51
  setInterval(function() {
52
+ /*
13
53
  si.networkStats().then(data => {
14
54
  console.log(data);
15
- })
55
+ });
56
+ */
57
+
58
+ getNetworkUsage()
59
+
60
+ //console.log(process.pid)
61
+
62
+ //getNetworkUsage()
63
+
16
64
  }, 1000)
17
65
 
18
66
  } else {
@@ -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;AAGnD,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,UAqE5D;CACJ"}
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,UAyG5D;CACJ"}
@@ -1,2 +1,3 @@
1
+
1
2
  export {};
2
3
  //# sourceMappingURL=app.d.ts.map