@nsshunt/stsappframework 3.1.1 → 3.1.2
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/masterprocessbase.js +7 -0
- package/dist/masterprocessbase.js.map +1 -1
- package/dist/middleware/serverNetworkMiddleware.js +25 -29
- package/dist/middleware/serverNetworkMiddleware.js.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/singleprocessbase.js +7 -1
- package/dist/singleprocessbase.js.map +1 -1
- package/dist/stsTransportLoggerWinston.js +22 -0
- package/dist/stsTransportLoggerWinston.js.map +1 -0
- package/dist/testing/appConfig.js +1 -1
- package/dist/testing/appConfig.js.map +1 -1
- package/dist/vitesttesting/appConfig.js +94 -0
- package/dist/vitesttesting/appConfig.js.map +1 -0
- package/dist/vitesttesting/appSingleWSS.js +73 -0
- package/dist/vitesttesting/appSingleWSS.js.map +1 -0
- package/dist/vitesttesting/server.js +16 -0
- package/dist/vitesttesting/server.js.map +1 -0
- package/dist/{testing → vitesttesting}/singleservertest.test.js +5 -111
- package/dist/vitesttesting/singleservertest.test.js.map +1 -0
- package/dist/vitesttesting/wsevents.js +3 -0
- package/dist/vitesttesting/wsevents.js.map +1 -0
- package/dist/workerprocessbase.js +7 -1
- package/dist/workerprocessbase.js.map +1 -1
- package/package.json +1 -1
- package/src/commonTypes.ts +2 -2
- package/src/masterprocessbase.ts +7 -1
- package/src/middleware/serverNetworkMiddleware.ts +28 -29
- package/src/server.ts +2 -1
- package/src/singleprocessbase.ts +8 -1
- package/src/stsTransportLoggerWinston.ts +24 -0
- package/src/testing/appConfig.ts +1 -1
- package/src/vitesttesting/appConfig.ts +110 -0
- package/src/vitesttesting/appSingleWSS.ts +82 -0
- package/src/vitesttesting/server.ts +18 -0
- package/src/{testing → vitesttesting}/singleservertest.test.ts +7 -128
- package/src/vitesttesting/wsevents.ts +33 -0
- package/src/workerprocessbase.ts +8 -1
- package/types/commonTypes.d.ts +2 -2
- package/types/commonTypes.d.ts.map +1 -1
- package/types/masterprocessbase.d.ts.map +1 -1
- package/types/middleware/serverNetworkMiddleware.d.ts +2 -1
- package/types/middleware/serverNetworkMiddleware.d.ts.map +1 -1
- package/types/server.d.ts.map +1 -1
- package/types/singleprocessbase.d.ts +1 -1
- package/types/singleprocessbase.d.ts.map +1 -1
- package/types/stsTransportLoggerWinston.d.ts +11 -0
- package/types/stsTransportLoggerWinston.d.ts.map +1 -0
- package/types/vitesttesting/appConfig.d.ts +3 -0
- package/types/vitesttesting/appConfig.d.ts.map +1 -0
- package/types/vitesttesting/appSingleWSS.d.ts +8 -0
- package/types/vitesttesting/appSingleWSS.d.ts.map +1 -0
- package/types/vitesttesting/server.d.ts +6 -0
- package/types/vitesttesting/server.d.ts.map +1 -0
- package/types/vitesttesting/singleservertest.test.d.ts.map +1 -0
- package/types/vitesttesting/wsevents.d.ts +18 -0
- package/types/vitesttesting/wsevents.d.ts.map +1 -0
- package/types/workerprocessbase.d.ts +1 -1
- package/types/workerprocessbase.d.ts.map +1 -1
- package/dist/testing/singleservertest.test.js.map +0 -1
- package/dist/workerprocessbase.test.js +0 -42
- package/dist/workerprocessbase.test.js.map +0 -1
- package/src/workerprocessbase.test.ts +0 -47
- package/types/testing/singleservertest.test.d.ts.map +0 -1
- package/types/workerprocessbase.test.d.ts +0 -2
- package/types/workerprocessbase.test.d.ts.map +0 -1
- /package/types/{testing → vitesttesting}/singleservertest.test.d.ts +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STSExpressRouteFactory = void 0;
|
|
4
|
+
const __1 = require("./..");
|
|
5
|
+
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
6
|
+
const goptions = (0, stsconfig_1.$Options)();
|
|
7
|
+
class STSExpressRouteFactory {
|
|
8
|
+
constructor(app, stsApp) {
|
|
9
|
+
const stslatency = new __1.STSLatencyRoute(stsApp);
|
|
10
|
+
// Note: This MUST come first as the latency end point is on the same path as the reosurce path.
|
|
11
|
+
// If stsresourceRouter came first, it would think that /latency was a resource name.
|
|
12
|
+
app.use(`${goptions.rest01apiroot}`, stslatency.router);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.STSExpressRouteFactory = STSExpressRouteFactory;
|
|
16
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/vitesttesting/server.ts"],"names":[],"mappings":";;;AAEA,4BAAoD;AAEpD,kDAA6C;AAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAE3B,MAAa,sBAAsB;IAE/B,YAAY,GAAoB,EAAE,MAAoB;QAElD,MAAM,UAAU,GAAG,IAAI,mBAAe,CAAC,MAAM,CAAC,CAAC;QAE/C,gGAAgG;QAChG,qFAAqF;QACrF,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACJ;AAVD,wDAUC"}
|
|
@@ -32,7 +32,8 @@ const debug = (0, debug_1.default)(`proc:${process.pid}:singleservertest.test`);
|
|
|
32
32
|
const chalk_1 = __importDefault(require("chalk"));
|
|
33
33
|
const axios_1 = __importDefault(require("axios"));
|
|
34
34
|
const stsutils_1 = require("@nsshunt/stsutils");
|
|
35
|
-
|
|
35
|
+
//import { SingleProcessBase, MasterProcessBase } from './..'
|
|
36
|
+
const appSingleWSS_1 = require("./appSingleWSS");
|
|
36
37
|
const appConfig_1 = require("./appConfig");
|
|
37
38
|
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
38
39
|
const goptions = (0, stsconfig_1.$Options)();
|
|
@@ -40,17 +41,7 @@ const https = __importStar(require("node:https"));
|
|
|
40
41
|
const vitest_1 = require("vitest");
|
|
41
42
|
const stssocketio_client_1 = require("@nsshunt/stssocketio-client");
|
|
42
43
|
const index_1 = require("./../index");
|
|
43
|
-
//import { TimeSeriesBucketTimestamp } from 'redis';
|
|
44
44
|
(0, vitest_1.describe)("Single Server Test", () => {
|
|
45
|
-
/*
|
|
46
|
-
const kafka = new Kafka({
|
|
47
|
-
clientId: 'my-app',
|
|
48
|
-
brokers: ['192.168.14.92:9092']
|
|
49
|
-
//brokers: ['localhost:9092', 'kafka2:9092'],
|
|
50
|
-
})
|
|
51
|
-
let producer: any;
|
|
52
|
-
let environment: any;
|
|
53
|
-
*/
|
|
54
45
|
let app = null;
|
|
55
46
|
let httpsAgent = null;
|
|
56
47
|
const endpoint = 'https://localhost';
|
|
@@ -64,8 +55,6 @@ const index_1 = require("./../index");
|
|
|
64
55
|
rejectUnauthorized: goptions.isProduction // Allows self signed certs in non production mode(s)
|
|
65
56
|
}
|
|
66
57
|
};
|
|
67
|
-
// Use ServerToClientEvents<true> when the client will pass a request to server with a call back expected with a timeout
|
|
68
|
-
//@@const socketUtils = new SocketIoClientHelper<ServerToClientEvents<true>, ClientToServerEvents>(socketUtilsoptions);
|
|
69
58
|
const socketUtils = new stssocketio_client_1.SocketIoClientHelper(socketUtilsoptions);
|
|
70
59
|
const instrumentManagerAddress = `${endpoint}:${goptions.rest01port}/${index_1.STSNamespace.STSMonitor}/`;
|
|
71
60
|
const LogInfoMessage = (message) => console.log(message);
|
|
@@ -123,105 +112,17 @@ const index_1 = require("./../index");
|
|
|
123
112
|
return null;
|
|
124
113
|
}
|
|
125
114
|
};
|
|
126
|
-
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */
|
|
127
|
-
/*
|
|
128
|
-
const socketDetail: ISocketDetail = socketUtils.SetupClientSideSocket('STSUITerm', instrumentManagerAddress, [
|
|
129
|
-
{
|
|
130
|
-
eventName: 'hello',
|
|
131
|
-
eventCb: (socket: any, data: any): void => {
|
|
132
|
-
debug(`Received: [hello:${data}]`);
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
eventName: 'goodbye',
|
|
137
|
-
eventCb: (socket: any, data: any) => {
|
|
138
|
-
debug(`Received: [goodbye:${data}]`);
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
eventName: 'registerEcho',
|
|
143
|
-
eventCb: (socket: any, data: any) => {
|
|
144
|
-
debug(`Received: [registerEcho:${JSON.stringify(data)}]`);
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
eventName: STSEvent.connect,
|
|
149
|
-
eventCb: (socket: STSClientSocket, data: any) => {
|
|
150
|
-
socket.emit('joinRoom', STSRoom.STSInstrumentDataRoom);
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
eventName: 'sts_connect_reply',
|
|
155
|
-
eventCb: (socket: STSClientSocket, data: any) => {
|
|
156
|
-
debug(`Received: [sts_connect_reply:${JSON.stringify(data)}]`);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
]);
|
|
160
|
-
*/
|
|
161
115
|
(0, vitest_1.beforeAll)(async () => {
|
|
162
|
-
|
|
163
|
-
const composeFilePath = "/home/marcusbettens/projects/stsappframework/src/testing";
|
|
164
|
-
const composeFile = "docker-compose.yml";
|
|
165
|
-
try {
|
|
166
|
-
environment = await new DockerComposeEnvironment(composeFilePath, composeFile)
|
|
167
|
-
.withWaitStrategy("kafka", Wait.forLogMessage("[KafkaServer id=1001] started (kafka.server.KafkaServer)"))
|
|
168
|
-
.withPullPolicy(new AlwaysPullPolicy())
|
|
169
|
-
.up()
|
|
170
|
-
} catch (error) {
|
|
171
|
-
this.#LogErrorMessage(error)
|
|
172
|
-
throw error;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
*/
|
|
176
|
-
/*
|
|
177
|
-
producer = kafka.producer()
|
|
178
|
-
await producer.connect()
|
|
179
|
-
*/
|
|
180
|
-
/*
|
|
181
|
-
process.env.AS_ENDPOINT = testHelper.authHost;
|
|
182
|
-
process.env.AS_HOST_PORT = testHelper.authPort;
|
|
183
|
-
process.env.AS_PORT = testHelper.authPort;
|
|
184
|
-
|
|
185
|
-
$ResetOptions();
|
|
186
|
-
//goptions = $Options()
|
|
187
|
-
|
|
188
|
-
//goptions.asendpoint = testHelper.authHost;
|
|
189
|
-
//goptions.asport = testHelper.authPort;
|
|
190
|
-
*/
|
|
191
|
-
const clusterMode = true;
|
|
192
|
-
if (clusterMode) {
|
|
193
|
-
const appOptions = (0, appConfig_1.ServiceConfigOptions)(clusterMode, true);
|
|
194
|
-
appOptions.processExitOnTerminate = false;
|
|
195
|
-
app = new __1.MasterProcessBase(appOptions);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
const appOptions = (0, appConfig_1.ServiceConfigOptions)(clusterMode, true);
|
|
199
|
-
appOptions.processExitOnTerminate = false;
|
|
200
|
-
app = new __1.SingleProcessBase(appOptions);
|
|
201
|
-
}
|
|
202
|
-
const appOptions = (0, appConfig_1.ServiceConfigOptions)(true, true);
|
|
116
|
+
const appOptions = (0, appConfig_1.ServiceConfigOptions)(false, true);
|
|
203
117
|
appOptions.processExitOnTerminate = false;
|
|
204
|
-
|
|
205
|
-
app = new __1.MasterProcessBase(appOptions);
|
|
118
|
+
app = new appSingleWSS_1.AppSingleWSS(appOptions);
|
|
206
119
|
await app.SetupServer();
|
|
207
120
|
await (0, stsutils_1.Sleep)(3000);
|
|
208
121
|
}, 60000);
|
|
209
122
|
(0, vitest_1.afterAll)(async () => {
|
|
210
123
|
await (0, stsutils_1.Sleep)(500);
|
|
211
|
-
// Kafka disconnect
|
|
212
|
-
//await producer.disconnect()
|
|
213
|
-
//@@await environment.down();
|
|
214
|
-
//await (app as SingleProcessBase).TerminateApplication();
|
|
215
124
|
await (0, stsutils_1.Sleep)(1000);
|
|
216
125
|
app = null;
|
|
217
|
-
/*
|
|
218
|
-
|
|
219
|
-
await testHelper.StopAuthService();
|
|
220
|
-
await testHelper.StopDatabase();
|
|
221
|
-
await testHelper.StopNetwork();
|
|
222
|
-
|
|
223
|
-
await Sleep(2000);
|
|
224
|
-
*/
|
|
225
126
|
}, 15000);
|
|
226
127
|
(0, vitest_1.test)('Testing Module', async () => {
|
|
227
128
|
vitest_1.expect.assertions(1);
|
|
@@ -231,14 +132,6 @@ const index_1 = require("./../index");
|
|
|
231
132
|
const num = 50;
|
|
232
133
|
vitest_1.expect.assertions(num * 2);
|
|
233
134
|
for (let i = 0; i < num; i++) {
|
|
234
|
-
/*
|
|
235
|
-
const retValKafka = await producer.send({
|
|
236
|
-
topic: 'topic-name2',
|
|
237
|
-
messages: [
|
|
238
|
-
{ key: 'key1', value: `hello world - ${i}` },
|
|
239
|
-
],
|
|
240
|
-
})
|
|
241
|
-
*/
|
|
242
135
|
const retVal = await getLatency();
|
|
243
136
|
const retValObj = retVal?.data.data;
|
|
244
137
|
(0, vitest_1.expect)(retValObj).toMatch('Ping Completed At:');
|
|
@@ -252,6 +145,7 @@ const index_1 = require("./../index");
|
|
|
252
145
|
// The address defines the namespace to connect to (i.e. io.of('/address'))
|
|
253
146
|
instrumentManagerAddress,
|
|
254
147
|
// Connected call back
|
|
148
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
255
149
|
(socket) => {
|
|
256
150
|
debug(chalk_1.default.green(`connected - 1`));
|
|
257
151
|
(0, vitest_1.expect)(1).toEqual(1);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleservertest.test.js","sourceRoot":"","sources":["../../src/vitesttesting/singleservertest.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsevents.js","sourceRoot":"","sources":["../../src/vitesttesting/wsevents.ts"],"names":[],"mappings":""}
|
|
@@ -13,6 +13,7 @@ const commonTypes_1 = require("./commonTypes");
|
|
|
13
13
|
const server_1 = require("./server");
|
|
14
14
|
const serverprocessbase_1 = require("./serverprocessbase");
|
|
15
15
|
const uuid_1 = require("uuid");
|
|
16
|
+
const stsTransportLoggerWinston_1 = require("./stsTransportLoggerWinston");
|
|
16
17
|
/**
|
|
17
18
|
* todo
|
|
18
19
|
* @typedef {Object} options - todo
|
|
@@ -25,7 +26,12 @@ class WorkerProcessBase extends serverprocessbase_1.ServerProcessBase {
|
|
|
25
26
|
super(options);
|
|
26
27
|
}
|
|
27
28
|
WorkerStarted() {
|
|
28
|
-
|
|
29
|
+
const transport = new stsTransportLoggerWinston_1.STSTransportLoggerWinston({
|
|
30
|
+
stsApp: this
|
|
31
|
+
});
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
this.options.logger.add(transport);
|
|
34
|
+
}, 0);
|
|
29
35
|
}
|
|
30
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
|
|
31
37
|
ReceivedMessageFromMaster(msg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerprocessbase.js","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,kDAA+B;AAC/B,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEjD,kDAA0B;AAE1B,oEAA6E;AAG7E,+CAAiH;AACjH,qCAA4C;AAC5C,2DAAuD;AAEvD,+BAAoC;AAEpC;;;;GAIG;AACH,MAAa,iBAAkB,SAAQ,qCAAiB;IAEpD,gBAAgB,GAAgB,EAAG,CAAA;IACnC,8BAA8B,GAAG,IAAI,CAAC,CAAC,WAAW;IAElD,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,aAAa;QACT,
|
|
1
|
+
{"version":3,"file":"workerprocessbase.js","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commonTypes.ts
CHANGED
|
@@ -77,7 +77,7 @@ export interface ISingleProcessBase extends IProcessBase {
|
|
|
77
77
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
78
|
get httpServer(): any
|
|
79
79
|
CollectAdditionalTelemetry(): void
|
|
80
|
-
ProcessStarted():
|
|
80
|
+
ProcessStarted(): void
|
|
81
81
|
get io(): any
|
|
82
82
|
ProcessTerminating(): Promise<void>
|
|
83
83
|
get expressServer(): any // STSExpressServer - need to put interface in common types - circular reference
|
|
@@ -88,7 +88,7 @@ export interface ISingleProcessBase extends IProcessBase {
|
|
|
88
88
|
|
|
89
89
|
export interface IWorkerProcessBase extends IProcessBase {
|
|
90
90
|
get httpServer(): any
|
|
91
|
-
WorkerStarted():
|
|
91
|
+
WorkerStarted(): void
|
|
92
92
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
|
|
93
93
|
ReceivedMessageFromMaster(msg: any): void
|
|
94
94
|
CollectAdditionalTelemetry(): void
|
package/src/masterprocessbase.ts
CHANGED
|
@@ -30,6 +30,7 @@ import { IMasterProcessBase } from './commonTypes';
|
|
|
30
30
|
import { InstrumentDefinitions } from '@nsshunt/stspublisherserver'
|
|
31
31
|
import { IPCMessagePayload, IPCMessageCommand } from './commonTypes'
|
|
32
32
|
|
|
33
|
+
import { STSTransportLoggerWinston } from './stsTransportLoggerWinston'
|
|
33
34
|
|
|
34
35
|
export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
35
36
|
{
|
|
@@ -426,7 +427,12 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
426
427
|
};
|
|
427
428
|
|
|
428
429
|
MasterStarted(): void { // eslint-disable @typescript-eslint/no-empty-function
|
|
429
|
-
|
|
430
|
+
const transport = new STSTransportLoggerWinston({
|
|
431
|
+
stsApp: this
|
|
432
|
+
});
|
|
433
|
+
setTimeout(() => {
|
|
434
|
+
(this.options.logger as any).add(transport);
|
|
435
|
+
}, 0);
|
|
430
436
|
}
|
|
431
437
|
|
|
432
438
|
override get shuttingDown(): boolean {
|
|
@@ -5,7 +5,7 @@ import { Socket } from 'node:net'
|
|
|
5
5
|
import { TinyEmitter } from 'tiny-emitter';
|
|
6
6
|
|
|
7
7
|
import debugModule from 'debug'
|
|
8
|
-
import { STSOptionsBase } from '@nsshunt/stsutils';
|
|
8
|
+
import { ISTSLogger, STSOptionsBase } from '@nsshunt/stsutils';
|
|
9
9
|
const debug = debugModule(`proc:${process.pid}`);
|
|
10
10
|
|
|
11
11
|
import { v4 as uuidv4 } from 'uuid';
|
|
@@ -33,6 +33,7 @@ export type ServerNetworkMiddlewareEventFunc = (data: ISocketRecord) => void;
|
|
|
33
33
|
export interface IServerNetworkMiddleware {
|
|
34
34
|
name: string
|
|
35
35
|
outputDebug: boolean
|
|
36
|
+
logger: ISTSLogger
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
export class ServerNetworkMiddleware extends STSOptionsBase
|
|
@@ -40,15 +41,13 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
40
41
|
#tinyEmitter: TinyEmitter = new TinyEmitter();
|
|
41
42
|
#socketCollection: Record<string, ISocketRecord> = { };
|
|
42
43
|
#id: string = '';
|
|
43
|
-
#debug: any;
|
|
44
44
|
|
|
45
45
|
constructor(options: IServerNetworkMiddleware) {
|
|
46
46
|
super(options);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#LogDebugMessage(message: any) {
|
|
50
|
+
this.options?.logger.debug(message);
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
on(eventName: ServerNetworkMiddlewareEventName, callBackFn: ServerNetworkMiddlewareEventFunc) {
|
|
@@ -74,12 +73,12 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
74
73
|
workingSocketRecord.requestBytesRead = workingSocketRecord.currentBytesRead - workingSocketRecord.lastBytesRead;
|
|
75
74
|
workingSocketRecord.requestBytesWritten = workingSocketRecord.currentBytesWritten - workingSocketRecord.lastBytesWritten;
|
|
76
75
|
|
|
77
|
-
//this.#
|
|
78
|
-
//this.#
|
|
76
|
+
//this.#LogDebugMessage(chalk.gray(`totalBytesRead: [${workingSocketRecord.id}] [${workingSocketRecord.originalUrl}] [${eventName}] [${workingSocketRecord.requestBytesRead}]`));
|
|
77
|
+
//this.#LogDebugMessage(chalk.gray(`totalBytesWritten: [${workingSocketRecord.id}] [${workingSocketRecord.originalUrl}] [${eventName}] [${workingSocketRecord.requestBytesWritten}]`));
|
|
79
78
|
|
|
80
79
|
const workingSocketEventRecord = { ...workingSocketRecord };
|
|
81
80
|
delete (workingSocketEventRecord as any).socket;
|
|
82
|
-
this.#
|
|
81
|
+
this.#LogDebugMessage(chalk.gray(`Sending event: [${JSON.stringify(workingSocketEventRecord)}]`));
|
|
83
82
|
this.#tinyEmitter.emit(ServerNetworkMiddlewareEventName.UpdateInstrument_SERVER_NET_VAL, workingSocketEventRecord);
|
|
84
83
|
|
|
85
84
|
workingSocketRecord.lastBytesRead = workingSocketRecord.currentBytesRead;
|
|
@@ -98,7 +97,7 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
98
97
|
}
|
|
99
98
|
return contentLength;
|
|
100
99
|
} catch (error) {
|
|
101
|
-
this.#
|
|
100
|
+
this.#LogDebugMessage(chalk.red(`ServerNetworkMiddleware:#GetRequestContentSize(): Error: [${error}]`));
|
|
102
101
|
return 0;
|
|
103
102
|
}
|
|
104
103
|
}
|
|
@@ -125,37 +124,37 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
125
124
|
|
|
126
125
|
this.#socketCollection[workingSocketRecord.id] = workingSocketRecord;
|
|
127
126
|
|
|
128
|
-
this.#
|
|
127
|
+
this.#LogDebugMessage(chalk.gray(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`));
|
|
129
128
|
|
|
130
129
|
workingSocketRecord.socket.on('data', () => {
|
|
131
130
|
const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
|
|
132
131
|
if (socketRecord) {
|
|
133
|
-
this.#
|
|
132
|
+
this.#LogDebugMessage(chalk.gray(`Socket data event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`));
|
|
134
133
|
this.UpdateNetworkStats(socketRecord, 'socket_data', req);
|
|
135
134
|
} else {
|
|
136
|
-
this.#
|
|
135
|
+
this.#LogDebugMessage(chalk.magenta(`Socket data event: Could not find socket within recordset`));
|
|
137
136
|
}
|
|
138
137
|
});
|
|
139
138
|
|
|
140
139
|
workingSocketRecord.socket.on('close', () => {
|
|
141
140
|
const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
|
|
142
141
|
if (socketRecord) {
|
|
143
|
-
this.#
|
|
142
|
+
this.#LogDebugMessage(chalk.gray(`Socket close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`));
|
|
144
143
|
this.UpdateNetworkStats(socketRecord, 'socket_close', req);
|
|
145
144
|
delete this.#socketCollection[socketRecord.id];
|
|
146
|
-
this.#
|
|
145
|
+
this.#LogDebugMessage(chalk.gray(`Socket removed from recordset: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`));
|
|
147
146
|
} else {
|
|
148
|
-
this.#
|
|
147
|
+
this.#LogDebugMessage(chalk.magenta(`Socket close event: Could not find socket within recordset`));
|
|
149
148
|
}
|
|
150
149
|
});
|
|
151
150
|
|
|
152
151
|
workingSocketRecord.socket.on('end', () => {
|
|
153
152
|
const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
|
|
154
153
|
if (socketRecord) {
|
|
155
|
-
this.#
|
|
154
|
+
this.#LogDebugMessage(chalk.gray(`Socket end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`));
|
|
156
155
|
this.UpdateNetworkStats(socketRecord, 'socket_end', req);
|
|
157
156
|
} else {
|
|
158
|
-
this.#
|
|
157
|
+
this.#LogDebugMessage(chalk.magenta(`Socket end event: Could not find socket within recordset`));
|
|
159
158
|
}
|
|
160
159
|
});
|
|
161
160
|
}
|
|
@@ -180,27 +179,27 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
180
179
|
const headerLength = JSON.stringify(res.getHeaders()).length;
|
|
181
180
|
const totalSize = contentLength + headerLength;
|
|
182
181
|
|
|
183
|
-
this.#
|
|
182
|
+
this.#LogDebugMessage(chalk.white.bgBlue(`contentLength: [${contentLength}], headerLength: [${headerLength}], total Size: [${totalSize}]`));
|
|
184
183
|
});
|
|
185
184
|
|
|
186
185
|
// This event is the one where bytesWritten is generally recorded
|
|
187
186
|
req.on('end', () => {
|
|
188
187
|
const socketRecord = this.GetSocketRecord(req.socket);
|
|
189
188
|
if (socketRecord) {
|
|
190
|
-
this.#
|
|
189
|
+
this.#LogDebugMessage(chalk.gray(`Request end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`))
|
|
191
190
|
this.UpdateNetworkStats(socketRecord, 'req_end', req);
|
|
192
191
|
} else {
|
|
193
|
-
this.#
|
|
192
|
+
this.#LogDebugMessage(chalk.magenta(`Request end event: Could not find socket within recordset`));
|
|
194
193
|
}
|
|
195
194
|
});
|
|
196
195
|
|
|
197
196
|
req.on('close', () => {
|
|
198
197
|
const socketRecord = this.GetSocketRecord(req.socket);
|
|
199
198
|
if (socketRecord) {
|
|
200
|
-
this.#
|
|
199
|
+
this.#LogDebugMessage(chalk.gray(`Request close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`));
|
|
201
200
|
this.UpdateNetworkStats(socketRecord, 'req_close', req);
|
|
202
201
|
} else {
|
|
203
|
-
this.#
|
|
202
|
+
this.#LogDebugMessage(chalk.magenta(`Request close event: Could not find socket within recordset`));
|
|
204
203
|
}
|
|
205
204
|
});
|
|
206
205
|
|
|
@@ -208,20 +207,20 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
208
207
|
req.on('data', () => {
|
|
209
208
|
workingSocketRecord = this.GetSocketRecord(req.socket);
|
|
210
209
|
if (workingSocketRecord) {
|
|
211
|
-
this.#
|
|
210
|
+
this.#LogDebugMessage(chalk.gray(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`));
|
|
212
211
|
this.UpdateNetworkStats(workingSocketRecord, 'data', req);
|
|
213
212
|
} else {
|
|
214
|
-
this.#
|
|
213
|
+
this.#LogDebugMessage(chalk.magenta(`Request close event: Could not find socket within recordset`));
|
|
215
214
|
}
|
|
216
215
|
});
|
|
217
216
|
|
|
218
217
|
req.on('readable', () => {
|
|
219
218
|
workingSocketRecord = this.GetSocketRecord(req.socket);
|
|
220
219
|
if (workingSocketRecord) {
|
|
221
|
-
this.#
|
|
220
|
+
this.#LogDebugMessage(chalk.gray(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`));
|
|
222
221
|
this.UpdateNetworkStats(workingSocketRecord, 'readable', req);
|
|
223
222
|
} else {
|
|
224
|
-
this.#
|
|
223
|
+
this.#LogDebugMessage(chalk.magenta(`Request close event: Could not find socket within recordset`));
|
|
225
224
|
}
|
|
226
225
|
});
|
|
227
226
|
*/
|
|
@@ -230,7 +229,7 @@ export class ServerNetworkMiddleware extends STSOptionsBase
|
|
|
230
229
|
const inContentLength = this.#GetRequestContentSize(req);
|
|
231
230
|
const inTotal = inHeadersLength + inContentLength;
|
|
232
231
|
|
|
233
|
-
this.#
|
|
232
|
+
this.#LogDebugMessage(chalk.white.bgGray(`inHeadersLength: [${inHeadersLength}], inContentLength: [${inContentLength}], inTotal: [${inTotal}]`));
|
|
234
233
|
|
|
235
234
|
// This event is the one where bytesRead is generally recorded
|
|
236
235
|
this.UpdateNetworkStats(workingSocketRecord, 'middleware', req);
|
package/src/server.ts
CHANGED
|
@@ -29,7 +29,8 @@ export class STSExpressServer
|
|
|
29
29
|
|
|
30
30
|
const serverNetworkMiddleware = new ServerNetworkMiddleware({
|
|
31
31
|
name: (stsApp.options as ProcessOptions).serviceName,
|
|
32
|
-
outputDebug: false
|
|
32
|
+
outputDebug: false,
|
|
33
|
+
logger: stsApp.options?.logger
|
|
33
34
|
});
|
|
34
35
|
|
|
35
36
|
serverNetworkMiddleware.on(ServerNetworkMiddlewareEventName.UpdateInstrument_SERVER_NET_VAL, (data: ISocketRecord) => {
|
package/src/singleprocessbase.ts
CHANGED
|
@@ -14,6 +14,8 @@ import { ServerProcessBase } from './serverprocessbase'
|
|
|
14
14
|
|
|
15
15
|
import si from 'systeminformation' // https://systeminformation.io/
|
|
16
16
|
|
|
17
|
+
import { STSTransportLoggerWinston } from './stsTransportLoggerWinston'
|
|
18
|
+
|
|
17
19
|
export type EventCb = (socket: any, data: any) => void
|
|
18
20
|
|
|
19
21
|
export class SingleProcessBase extends ServerProcessBase implements ISingleProcessBase
|
|
@@ -55,7 +57,12 @@ export class SingleProcessBase extends ServerProcessBase implements ISingleProce
|
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
ProcessStarted() {
|
|
58
|
-
|
|
60
|
+
const transport = new STSTransportLoggerWinston({
|
|
61
|
+
stsApp: this
|
|
62
|
+
});
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
(this.options.logger as any).add(transport);
|
|
65
|
+
}, 0);
|
|
59
66
|
}
|
|
60
67
|
|
|
61
68
|
SetupServer(): Promise<boolean>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
|
|
2
|
+
import Transport, { TransportStreamOptions } from 'winston-transport'
|
|
3
|
+
|
|
4
|
+
import { IProcessBase } from './commonTypes'
|
|
5
|
+
|
|
6
|
+
export interface ISTSTransportLoggerWinstonOptions extends TransportStreamOptions {
|
|
7
|
+
stsApp: IProcessBase
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class STSTransportLoggerWinston extends Transport {
|
|
11
|
+
|
|
12
|
+
#options: ISTSTransportLoggerWinstonOptions;
|
|
13
|
+
|
|
14
|
+
constructor(opts: ISTSTransportLoggerWinstonOptions) {
|
|
15
|
+
super(opts);
|
|
16
|
+
this.#options = opts;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
log(info: any, callback: any) {
|
|
20
|
+
this.#options.stsApp.LogMessageToLoggerInstrument(info.message);
|
|
21
|
+
this.emit('logged', info);
|
|
22
|
+
callback();
|
|
23
|
+
}
|
|
24
|
+
}
|
package/src/testing/appConfig.ts
CHANGED
|
@@ -85,7 +85,7 @@ export function ServiceConfigOptions(clusterMode: boolean, isMaster: boolean): P
|
|
|
85
85
|
instrumentationTimeWindow: goptions.instrumentationTimeWindow,
|
|
86
86
|
|
|
87
87
|
useRedisAdaptor: false,
|
|
88
|
-
workerExec: './dist/testing/app.js',
|
|
88
|
+
//workerExec: './dist/testing/app.js',
|
|
89
89
|
|
|
90
90
|
logger: logger,
|
|
91
91
|
publisherLogger: publisherLogger
|