@nsshunt/stsappframework 3.3.186 → 4.0.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.
Files changed (189) hide show
  1. package/dist/commonTypes.js +1 -12
  2. package/dist/commonTypes.js.map +1 -1
  3. package/dist/exampleapp/app.js +238 -0
  4. package/dist/exampleapp/app.js.map +1 -0
  5. package/dist/index.js +11 -7
  6. package/dist/index.js.map +1 -1
  7. package/dist/logger/stsTransportLoggerSocket.js +0 -1
  8. package/dist/logger/stsTransportLoggerSocket.js.map +1 -1
  9. package/dist/{process → plugins}/clusterworkermanager.js +37 -36
  10. package/dist/plugins/clusterworkermanager.js.map +1 -0
  11. package/dist/plugins/pgpoolmanager.js +186 -0
  12. package/dist/plugins/pgpoolmanager.js.map +1 -0
  13. package/dist/{process → plugins}/servertypes/serverUtils.js.map +1 -1
  14. package/dist/{process → plugins}/servertypes/stsexpressserver.js +44 -19
  15. package/dist/plugins/servertypes/stsexpressserver.js.map +1 -0
  16. package/dist/{process → plugins}/servertypes/stsjsonrpcserver.js +2 -3
  17. package/dist/plugins/servertypes/stsjsonrpcserver.js.map +1 -0
  18. package/dist/{process → plugins}/servertypes/stsserverfactory.js +2 -2
  19. package/dist/plugins/servertypes/stsserverfactory.js.map +1 -0
  20. package/dist/{process → plugins}/servertypes/ststcprawserver.js +2 -2
  21. package/dist/plugins/servertypes/ststcprawserver.js.map +1 -0
  22. package/dist/plugins/stsclusterworkermanagerplugin.js +54 -0
  23. package/dist/plugins/stsclusterworkermanagerplugin.js.map +1 -0
  24. package/dist/{process/plugins → plugins}/stsconfigplugin.js +2 -2
  25. package/dist/plugins/stsconfigplugin.js.map +1 -0
  26. package/dist/plugins/stsexpresscontrollerplugin.js +47 -0
  27. package/dist/plugins/stsexpresscontrollerplugin.js.map +1 -0
  28. package/dist/{process/plugins/stsmetricsplugin.js → plugins/stsinstrumentmanagerplugin.js} +36 -23
  29. package/dist/plugins/stsinstrumentmanagerplugin.js.map +1 -0
  30. package/dist/plugins/stslatencymanager.js +122 -0
  31. package/dist/plugins/stslatencymanager.js.map +1 -0
  32. package/dist/plugins/stslatencyplugin.js +29 -0
  33. package/dist/plugins/stslatencyplugin.js.map +1 -0
  34. package/dist/plugins/stslifecycleplugin.js +48 -0
  35. package/dist/plugins/stslifecycleplugin.js.map +1 -0
  36. package/dist/plugins/stsloggerplugin.js +60 -0
  37. package/dist/plugins/stsloggerplugin.js.map +1 -0
  38. package/dist/{process/metrics.js → plugins/stsmetricsplugin.js} +33 -9
  39. package/dist/plugins/stsmetricsplugin.js.map +1 -0
  40. package/dist/plugins/stspgpoolmanagerplugin.js +67 -0
  41. package/dist/plugins/stspgpoolmanagerplugin.js.map +1 -0
  42. package/dist/plugins/stsserverplugin.js +89 -0
  43. package/dist/plugins/stsserverplugin.js.map +1 -0
  44. package/dist/route/stsrootroute.js +10 -0
  45. package/dist/route/stsrootroute.js.map +1 -0
  46. package/dist/stsapp.js +190 -0
  47. package/dist/stsapp.js.map +1 -0
  48. package/package.json +15 -22
  49. package/types/commonTypes.d.ts +28 -203
  50. package/types/commonTypes.d.ts.map +1 -1
  51. package/types/exampleapp/app.d.ts +2 -0
  52. package/types/exampleapp/app.d.ts.map +1 -0
  53. package/types/index.d.ts +11 -7
  54. package/types/index.d.ts.map +1 -1
  55. package/types/logger/stsTransportLoggerSocket.d.ts.map +1 -1
  56. package/types/{process → plugins}/clusterworkermanager.d.ts +5 -1
  57. package/types/plugins/clusterworkermanager.d.ts.map +1 -0
  58. package/types/plugins/pgpoolmanager.d.ts +34 -0
  59. package/types/plugins/pgpoolmanager.d.ts.map +1 -0
  60. package/types/{process → plugins}/servertypes/serverUtils.d.ts.map +1 -1
  61. package/types/plugins/servertypes/stsexpressserver.d.ts +22 -0
  62. package/types/plugins/servertypes/stsexpressserver.d.ts.map +1 -0
  63. package/types/{process → plugins}/servertypes/stsjsonrpcserver.d.ts +1 -9
  64. package/types/plugins/servertypes/stsjsonrpcserver.d.ts.map +1 -0
  65. package/types/{process → plugins}/servertypes/stsserverfactory.d.ts +2 -4
  66. package/types/plugins/servertypes/stsserverfactory.d.ts.map +1 -0
  67. package/types/{process → plugins}/servertypes/ststcprawserver.d.ts +1 -9
  68. package/types/plugins/servertypes/ststcprawserver.d.ts.map +1 -0
  69. package/types/plugins/stsclusterworkermanagerplugin.d.ts +16 -0
  70. package/types/plugins/stsclusterworkermanagerplugin.d.ts.map +1 -0
  71. package/types/{process/plugins → plugins}/stsconfigplugin.d.ts +1 -1
  72. package/types/plugins/stsconfigplugin.d.ts.map +1 -0
  73. package/types/plugins/stsexpresscontrollerplugin.d.ts +25 -0
  74. package/types/plugins/stsexpresscontrollerplugin.d.ts.map +1 -0
  75. package/types/plugins/stsinstrumentmanagerplugin.d.ts +31 -0
  76. package/types/plugins/stsinstrumentmanagerplugin.d.ts.map +1 -0
  77. package/types/plugins/stslatencymanager.d.ts +24 -0
  78. package/types/plugins/stslatencymanager.d.ts.map +1 -0
  79. package/types/plugins/stslatencyplugin.d.ts +12 -0
  80. package/types/plugins/stslatencyplugin.d.ts.map +1 -0
  81. package/types/plugins/stslifecycleplugin.d.ts +25 -0
  82. package/types/plugins/stslifecycleplugin.d.ts.map +1 -0
  83. package/types/plugins/stsloggerplugin.d.ts +19 -0
  84. package/types/plugins/stsloggerplugin.d.ts.map +1 -0
  85. package/types/{process/metrics.d.ts → plugins/stsmetricsplugin.d.ts} +12 -5
  86. package/types/plugins/stsmetricsplugin.d.ts.map +1 -0
  87. package/types/plugins/stspgpoolmanagerplugin.d.ts +14 -0
  88. package/types/plugins/stspgpoolmanagerplugin.d.ts.map +1 -0
  89. package/types/plugins/stsserverplugin.d.ts +16 -0
  90. package/types/plugins/stsserverplugin.d.ts.map +1 -0
  91. package/types/route/stsrootroute.d.ts +5 -0
  92. package/types/route/stsrootroute.d.ts.map +1 -0
  93. package/types/{process/stsapp.d.ts → stsapp.d.ts} +6 -2
  94. package/types/stsapp.d.ts.map +1 -0
  95. package/dist/grpc/grpcServer.js +0 -415
  96. package/dist/grpc/grpcServer.js.map +0 -1
  97. package/dist/process/appConfig.js +0 -103
  98. package/dist/process/appConfig.js.map +0 -1
  99. package/dist/process/clusterworkermanager.js.map +0 -1
  100. package/dist/process/datamanager.js +0 -78
  101. package/dist/process/datamanager.js.map +0 -1
  102. package/dist/process/latencyManager.js +0 -56
  103. package/dist/process/latencyManager.js.map +0 -1
  104. package/dist/process/logManager.js +0 -36
  105. package/dist/process/logManager.js.map +0 -1
  106. package/dist/process/masterprocessbase.js +0 -154
  107. package/dist/process/masterprocessbase.js.map +0 -1
  108. package/dist/process/metrics.js.map +0 -1
  109. package/dist/process/plugins/plugintypes.js +0 -2
  110. package/dist/process/plugins/plugintypes.js.map +0 -1
  111. package/dist/process/plugins/stsconfigplugin.js.map +0 -1
  112. package/dist/process/plugins/stsloggerplugin.js +0 -26
  113. package/dist/process/plugins/stsloggerplugin.js.map +0 -1
  114. package/dist/process/plugins/stsmetricsplugin.js.map +0 -1
  115. package/dist/process/plugins/ststestplugin.js +0 -26
  116. package/dist/process/plugins/ststestplugin.js.map +0 -1
  117. package/dist/process/processbase.js +0 -203
  118. package/dist/process/processbase.js.map +0 -1
  119. package/dist/process/prometheusmanager.js +0 -112
  120. package/dist/process/prometheusmanager.js.map +0 -1
  121. package/dist/process/server.js +0 -4
  122. package/dist/process/server.js.map +0 -1
  123. package/dist/process/serverprocessbase.js +0 -204
  124. package/dist/process/serverprocessbase.js.map +0 -1
  125. package/dist/process/servertypes/stsexpressserver.js.map +0 -1
  126. package/dist/process/servertypes/stsjsonrpcserver.js.map +0 -1
  127. package/dist/process/servertypes/stsserverfactory.js.map +0 -1
  128. package/dist/process/servertypes/ststcprawserver.js.map +0 -1
  129. package/dist/process/singleprocessbase.js +0 -48
  130. package/dist/process/singleprocessbase.js.map +0 -1
  131. package/dist/process/stsapp.js +0 -48
  132. package/dist/process/stsapp.js.map +0 -1
  133. package/dist/process/sysinfo.js +0 -56
  134. package/dist/process/sysinfo.js.map +0 -1
  135. package/dist/process/workerprocessbase.js +0 -35
  136. package/dist/process/workerprocessbase.js.map +0 -1
  137. package/dist/publishertransports/publishTransportUtils.js +0 -43
  138. package/dist/publishertransports/publishTransportUtils.js.map +0 -1
  139. package/dist/sysinfo/network.js +0 -31
  140. package/dist/sysinfo/network.js.map +0 -1
  141. package/types/grpc/grpcServer.d.ts +0 -31
  142. package/types/grpc/grpcServer.d.ts.map +0 -1
  143. package/types/process/appConfig.d.ts +0 -3
  144. package/types/process/appConfig.d.ts.map +0 -1
  145. package/types/process/clusterworkermanager.d.ts.map +0 -1
  146. package/types/process/datamanager.d.ts +0 -15
  147. package/types/process/datamanager.d.ts.map +0 -1
  148. package/types/process/latencyManager.d.ts +0 -10
  149. package/types/process/latencyManager.d.ts.map +0 -1
  150. package/types/process/logManager.d.ts +0 -9
  151. package/types/process/logManager.d.ts.map +0 -1
  152. package/types/process/masterprocessbase.d.ts +0 -13
  153. package/types/process/masterprocessbase.d.ts.map +0 -1
  154. package/types/process/metrics.d.ts.map +0 -1
  155. package/types/process/plugins/plugintypes.d.ts +0 -7
  156. package/types/process/plugins/plugintypes.d.ts.map +0 -1
  157. package/types/process/plugins/stsconfigplugin.d.ts.map +0 -1
  158. package/types/process/plugins/stsloggerplugin.d.ts +0 -14
  159. package/types/process/plugins/stsloggerplugin.d.ts.map +0 -1
  160. package/types/process/plugins/stsmetricsplugin.d.ts +0 -19
  161. package/types/process/plugins/stsmetricsplugin.d.ts.map +0 -1
  162. package/types/process/plugins/ststestplugin.d.ts +0 -10
  163. package/types/process/plugins/ststestplugin.d.ts.map +0 -1
  164. package/types/process/processbase.d.ts +0 -19
  165. package/types/process/processbase.d.ts.map +0 -1
  166. package/types/process/prometheusmanager.d.ts +0 -10
  167. package/types/process/prometheusmanager.d.ts.map +0 -1
  168. package/types/process/server.d.ts +0 -5
  169. package/types/process/server.d.ts.map +0 -1
  170. package/types/process/serverprocessbase.d.ts +0 -18
  171. package/types/process/serverprocessbase.d.ts.map +0 -1
  172. package/types/process/servertypes/stsexpressserver.d.ts +0 -34
  173. package/types/process/servertypes/stsexpressserver.d.ts.map +0 -1
  174. package/types/process/servertypes/stsjsonrpcserver.d.ts.map +0 -1
  175. package/types/process/servertypes/stsserverfactory.d.ts.map +0 -1
  176. package/types/process/servertypes/ststcprawserver.d.ts.map +0 -1
  177. package/types/process/singleprocessbase.d.ts +0 -14
  178. package/types/process/singleprocessbase.d.ts.map +0 -1
  179. package/types/process/stsapp.d.ts.map +0 -1
  180. package/types/process/sysinfo.d.ts +0 -8
  181. package/types/process/sysinfo.d.ts.map +0 -1
  182. package/types/process/workerprocessbase.d.ts +0 -8
  183. package/types/process/workerprocessbase.d.ts.map +0 -1
  184. package/types/publishertransports/publishTransportUtils.d.ts +0 -5
  185. package/types/publishertransports/publishTransportUtils.d.ts.map +0 -1
  186. package/types/sysinfo/network.d.ts +0 -4
  187. package/types/sysinfo/network.d.ts.map +0 -1
  188. /package/dist/{process → plugins}/servertypes/serverUtils.js +0 -0
  189. /package/types/{process → plugins}/servertypes/serverUtils.d.ts +0 -0
@@ -1,56 +0,0 @@
1
- // latencyManager.ts
2
- /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
3
- import axios from "axios";
4
- import chalk from "chalk";
5
- import { Gauge, } from "@nsshunt/stsobservability";
6
- import { ProcessMetricsToken } from "./../commonTypes.js";
7
- import { STSAxiosConfig } from "@nsshunt/stsutils";
8
- import { ProcessOptionsToken, AgentManagerToken, LogManagerToken, } from "./../commonTypes.js";
9
- import { inject } from "@nsshunt/stsutils";
10
- export class LatencyManager {
11
- options = inject(ProcessOptionsToken);
12
- agentManager = inject(AgentManagerToken);
13
- metrics = inject(ProcessMetricsToken);
14
- logManager = inject(LogManagerToken);
15
- CheckLatency = async () => {
16
- const start = process.hrtime();
17
- await this.#GetLatency();
18
- this.#LatencyRequestCompleted(start);
19
- };
20
- #GetLatency = async () => {
21
- let retVal = null;
22
- // We use port rather than hostport becuase this test going outside the service and comes back in as a regular client
23
- const url = `${this.options.endpoint}:${this.options.port}${this.options.apiRoot}/latency`;
24
- try {
25
- retVal = await axios(new STSAxiosConfig(url, "get")
26
- .withDefaultHeaders()
27
- .withAgentManager(this.agentManager).config);
28
- if (retVal.status !== 200) {
29
- this.logManager.LogDebugMessage(chalk.magenta(`Error (MasterProcessBase:#GetLatency): Invalid response from server: [${retVal.status}]`));
30
- return null;
31
- }
32
- return retVal.data.detail;
33
- }
34
- catch (error) {
35
- this.logManager.LogDebugMessage(chalk.red(`Error (MasterProcessBase:#GetLatency:catch): [${error}]`));
36
- this.logManager.LogDebugMessage(chalk.red(` url: [${url}]`));
37
- if (error.response && error.response.data) {
38
- this.logManager.LogDebugMessage(chalk.red(` Details: [${JSON.stringify(error.response.data)}]`));
39
- }
40
- }
41
- };
42
- #LatencyRequestCompleted = (start) => {
43
- // Update request duration histo data
44
- let timeInMs = 0;
45
- const end = process.hrtime(start);
46
- timeInMs = (end[0] * 1000000000 + end[1]) / 1000000;
47
- timeInMs = parseFloat(timeInMs.toFixed(4));
48
- this.metrics.UpdateInstrument(Gauge.LATENCY_HISTOGRAM_GAUGE, {
49
- val: timeInMs,
50
- });
51
- this.metrics.UpdateInstrument(Gauge.LATENCY_GAUGE, {
52
- val: timeInMs,
53
- });
54
- };
55
- }
56
- //# sourceMappingURL=latencyManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latencyManager.js","sourceRoot":"","sources":["../../src/process/latencyManager.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- // logManager.ts
2
- /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
3
- import cluster from "node:cluster";
4
- import chalk from "chalk";
5
- import { inject } from "@nsshunt/stsutils";
6
- import { ProcessOptionsToken } from "./../commonTypes.js";
7
- export class LogManager {
8
- options = inject(ProcessOptionsToken);
9
- #GetFormattedLogMessage(message) {
10
- let prefix = "";
11
- let col = null;
12
- const appName = this.options.serviceName;
13
- if (cluster.isPrimary) {
14
- prefix = "M";
15
- col = chalk.bold.cyan;
16
- }
17
- else {
18
- prefix = "W";
19
- col = chalk.green;
20
- }
21
- return col(`${prefix}(${process.pid}) [${appName}]: ${message}`);
22
- }
23
- LogErrorMessage(message) {
24
- this.options.logger.error(this.#GetFormattedLogMessage(message));
25
- }
26
- LogInfoMessage(message) {
27
- this.options.logger.info(this.#GetFormattedLogMessage(message));
28
- }
29
- LogWarnMessage(message) {
30
- this.options.logger.warn(this.#GetFormattedLogMessage(message));
31
- }
32
- LogDebugMessage(message) {
33
- this.options.logger.debug(this.#GetFormattedLogMessage(message));
34
- }
35
- }
36
- //# sourceMappingURL=logManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../src/process/logManager.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,kDAAkD,CAAC,UAAU;AAC7D,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,OAAO,UAAU;IACnB,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEtC,uBAAuB,CAAC,OAAe;QACnC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAEzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC;YACb,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC;YACb,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,MAAM,OAAO,MAAM,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,eAAe,CAAC,OAAY;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,OAAY;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,cAAc,CAAC,OAAY;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,eAAe,CAAC,OAAY;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;CACJ"}
@@ -1,154 +0,0 @@
1
- // masterprocessbase.ts
2
- /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
3
- import si from "systeminformation"; // https://systeminformation.io/
4
- import chalk from "chalk";
5
- import { goptions } from "@nsshunt/stsconfig";
6
- import { Gauge, } from "@nsshunt/stsobservability";
7
- import { ProcessBase } from "./processbase.js";
8
- import { ProcessMetricsToken, STSTransportLoggerWinstonToken, DataManagerToken, LatencyManagerToken, LogManagerToken, } from "./../commonTypes.js";
9
- import { Sleep } from "@nsshunt/stsutils";
10
- import { SysInfo } from "./sysinfo.js";
11
- import { ClusterWorkerManager } from "./clusterworkermanager.js";
12
- //@@ refactor todo items
13
- //@@ ------------------------------------------------------------
14
- //@@ this needs a worker manager to handle add/remove of workers
15
- //@@ move prom support to a promManageer
16
- //@@ latencyManager (or health check)
17
- //@@ remove ipc message handling and replace with stsmessaging
18
- //@@ remove TerminateUIController - does not appear to be used by anything
19
- export class MasterProcessBase extends ProcessBase {
20
- #masterProcessExitTime = goptions.masterProcessExitTime;
21
- #childProcessExitTime = goptions.childProcessExitTime;
22
- #siValueObject = {
23
- currentLoad: "currentLoad",
24
- };
25
- #httpServer = null; // Prometheus cluster server. See https://github.com/siimon/prom-client/blob/master/example/cluster.js
26
- #checkLatency = null;
27
- #shuttingDown = false;
28
- #clusterWorkerManager;
29
- #logManager;
30
- constructor(options) {
31
- super(options);
32
- this.#logManager = this.ProcessBaseInjector().get(LogManagerToken);
33
- this.ProcessBaseInjector().runInContext(() => {
34
- this.#clusterWorkerManager = new ClusterWorkerManager();
35
- });
36
- this.#clusterWorkerManager?.on("workerExit", (code, signal) => {
37
- this.emit("workerExit", code, signal);
38
- });
39
- this.#clusterWorkerManager?.on("workerError", (error) => {
40
- this.emit("workerError", error);
41
- });
42
- this.#clusterWorkerManager?.on("workerAdded", (workerId) => {
43
- this.emit("workerAdded", workerId);
44
- });
45
- }
46
- #CollectAdditionalTelemetry = () => {
47
- const metrics = this.ProcessBaseInjector().get(ProcessMetricsToken);
48
- metrics.AddMetricsProvider(async () => {
49
- try {
50
- si.get(this.#siValueObject).then((data) => {
51
- metrics.UpdateInstrument(Gauge.CPU_SYSTEM_LOAD_GAUGE, {
52
- val: data.currentLoad.currentLoad,
53
- });
54
- });
55
- }
56
- catch (error) { }
57
- });
58
- };
59
- MasterStarted() {
60
- const transport = this.ProcessBaseInjector().get(STSTransportLoggerWinstonToken);
61
- setTimeout(() => {
62
- this.options.logger.add(transport);
63
- }, 0);
64
- }
65
- get shuttingDown() {
66
- return this.#shuttingDown;
67
- }
68
- SetupServer = async () => {
69
- this.ProcessStartup();
70
- this.#logManager.LogInfoMessage(`Service instance starting. Instance Id: [${this.options.serviceInstanceId}]`);
71
- const sysInfo = new SysInfo(this.ProcessBaseInjector().get(LogManagerToken));
72
- sysInfo.LogSystemTelemetry();
73
- const numCPUs = await sysInfo.GetNumCPUs();
74
- for (let i = 0; i < numCPUs; i++) {
75
- this.#clusterWorkerManager.SpawnWorker();
76
- }
77
- process.on("SIGINT", async () => {
78
- this.emit("processSigint");
79
- await this.Terminate("SIGINT");
80
- });
81
- process.on("SIGTERM", async () => {
82
- this.emit("processSigterm");
83
- await this.Terminate("SIGTERM");
84
- });
85
- process.on("exit", (code) => {
86
- this.emit("processExit", code);
87
- if (code === 0) {
88
- this.#logManager.LogInfoMessage(chalk.green(`Main Process: ${process.pid} terminated gracefully with code: ${code}`));
89
- }
90
- else {
91
- this.#logManager.LogInfoMessage(chalk.red(`Main Process: ${process.pid} terminated with code: ${code}`));
92
- }
93
- });
94
- if (this.options.useLatency) {
95
- this.#checkLatency = setInterval(() => {
96
- this.ProcessBaseInjector()
97
- .get(LatencyManagerToken)
98
- .CheckLatency();
99
- }, 1000).unref();
100
- }
101
- this.#CollectAdditionalTelemetry();
102
- this.MasterStarted();
103
- this.#logManager.LogInfoMessage(chalk.green(`Master process:${process.pid} started`));
104
- };
105
- TerminateLatency = () => {
106
- if (this.#checkLatency) {
107
- clearInterval(this.#checkLatency);
108
- this.#checkLatency = null;
109
- }
110
- };
111
- TerminateHTTPServer = async () => {
112
- if (this.#httpServer !== null) {
113
- const logPrefix = `ServerProcessBase:TerminateHTTPServer():${process.pid}:`;
114
- this.#logManager.LogInfoMessage(`${logPrefix} Closing httpServer.`);
115
- await this.#httpServer.close();
116
- this.#httpServer = null;
117
- }
118
- };
119
- // Terminate in order;
120
- // forked worker threads (send signal)
121
- // De-Register service
122
- // systeminformation observers
123
- // instrument timers (gauge etc.)
124
- // publisher
125
- // terminate UI (if loaded)
126
- Terminate = async (signal) => {
127
- const logPrefix = `MasterProcessBase:Terminate():${process.pid}:`;
128
- if (this.#shuttingDown === false) {
129
- this.#shuttingDown = true;
130
- if (signal) {
131
- this.#logManager.LogInfoMessage(this.GetSignalColour(signal)(`${logPrefix} Received signal: ${signal}`));
132
- }
133
- else {
134
- this.#logManager.LogInfoMessage(this.GetSignalColour(null)(`${logPrefix} Received Terminate without signal.`));
135
- }
136
- this.TerminateLatency();
137
- await this.ProcessTerminate();
138
- this.#logManager.LogInfoMessage(`${logPrefix} De-Registering service.`);
139
- //@@ De-register here ...
140
- await this.TerminateHTTPServer();
141
- this.#clusterWorkerManager?.KillWorkers(signal);
142
- await this.ProcessBaseInjector()
143
- .get(DataManagerToken)
144
- ?.TerminateDatabase();
145
- this.TerminateInstrumentController();
146
- await Sleep(1000);
147
- this.ProcessExit(this.#childProcessExitTime + this.#masterProcessExitTime);
148
- }
149
- else {
150
- this.#logManager.LogInfoMessage(`${logPrefix} Process already terminating.`);
151
- }
152
- };
153
- }
154
- //# sourceMappingURL=masterprocessbase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"masterprocessbase.js","sourceRoot":"","sources":["../../src/process/masterprocessbase.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/process/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plugintypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugintypes.js","sourceRoot":"","sources":["../../../src/process/plugins/plugintypes.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stsconfigplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsconfigplugin.ts"],"names":[],"mappings":"AAAA,wFAAwF,CAAC,UAAU;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAc,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAa,eAAe,CAAC,CAAC;AAE9E,aAAa;AACb,MAAM,OAAO,eAAe;IACxB,OAAO,GAAG,CAAC,QAAkB,EAAE,OAA6B,EAAQ,EAAE;QAClE,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACvB,IAAI,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;CACzB"}
@@ -1,26 +0,0 @@
1
- import { Sleep } from "@nsshunt/stsutils";
2
- import { STSLoggerToken } from "./../../commonTypes.js";
3
- export class STSLoggerPlugin {
4
- options;
5
- install = (injector, options) => {
6
- if (!options) {
7
- throw new Error("STSLoggerPlugin requires options");
8
- }
9
- injector.register({
10
- provide: STSLoggerToken,
11
- useValue: options.logger,
12
- });
13
- this.options = options;
14
- };
15
- Start = async () => {
16
- console.log(`STSLoggerPlugin: Start()...: [${this.options.name}] Starting ...`);
17
- await Sleep(1000);
18
- console.log(`STSLoggerPlugin: Start()...: [${this.options.name}] Started`);
19
- };
20
- Stop = async () => {
21
- console.log(`STSLoggerPlugin: Stop()...: [${this.options.name}] Stopping ...`);
22
- await Sleep(1000);
23
- console.log(`STSLoggerPlugin: Stop()...: [${this.options.name}] Stopped`);
24
- };
25
- }
26
- //# sourceMappingURL=stsloggerplugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stsloggerplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsloggerplugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD,MAAM,OAAO,eAAe;IAChB,OAAO,CAA0B;IAEzC,OAAO,GAAG,CAAC,QAAkB,EAAE,OAAgC,EAAQ,EAAE;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE;QACf,OAAO,CAAC,GAAG,CACP,iCAAiC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CACrE,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,iCAAiC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAChE,CAAC;IACN,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE;QACd,OAAO,CAAC,GAAG,CACP,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CACpE,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAC/D,CAAC;IACN,CAAC,CAAC;CACL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stsmetricsplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/stsmetricsplugin.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAkB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACH,2BAA2B,EAE3B,aAAa,EAEb,cAAc,GACjB,MAAM,qCAAqC,CAAC;AAI7C,MAAM,OAAO,gBAAgB;IACR,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEzC,OAAO,CAAkB;IACzB,2BAA2B,CAA+B;IAC1D,YAAY,CAAiB;IAErC,OAAO,GAAG,CAAC,QAAkB,EAAE,OAAwB,EAAQ,EAAE;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC,CAAC;IAEF,KAAK,GAAG,KAAK,IAAI,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,2BAA2B;YAC5B,IAAI,CAAC,kCAAkC,EAAE,CAAC;IAClD,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,2BAA2B,EAAE,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,OAAQ,CAAC,MAAyB,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,mBAAmB,GAAG,GAAG,EAAE;QACvB,OAAO,kBAAkB,CAAC;YACtB,YAAY,EAAE;gBACV,SAAS,EAAE,KAAK,EAAE,0DAA0D;gBAC5E,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC5C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,oDAAoD;aACrG;YACD,gBAAgB,CAAC,OAAO;gBACpB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,iBAAiB,CAAC,OAAO;gBACrB,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,kCAAkC,GAAG,GAAG,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,uBAAuB,GACvB,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,uBAAuB,GAAG;gBACtB,aAAa,EAAE,aAAa,CAAC,OAAO;gBACpC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,iBAAiB;gBAC7F,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,kEAAkE;gBAClE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;aACvC,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,2CAA2C;YAC3C,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GACZ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEjE,MAAM,2BAA2B,GAC7B;YACI,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAClD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjD,UAAU;YACV,kCAAkC,EAC9B,IAAI,CAAC,OAAO,CAAC,kCAAkC;YACnD,yBAAyB,EACrB,IAAI,CAAC,OAAO,CAAC,yBAAyB;YAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YACpC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,uBAAuB,EAAE,IAAI,EAAE,IAAI;YACnC,qBAAqB,EAAE,cAAc,CAAC,SAAS,CAAC;YAChD,2BAA2B,EAAE,uBAAuB;YACpD,SAAS,EAAE,IAAI;SAClB,CAAC;QAEN,OAAO,IAAI,2BAA2B,CAAC,2BAA2B,CAAC,CAAC;IACxE,CAAC,CAAC;CACL"}
@@ -1,26 +0,0 @@
1
- import { inject, Sleep } from "@nsshunt/stsutils";
2
- import { STSLoggerToken, ProcessBaseToken } from "./../../commonTypes.js";
3
- import { STSConfigToken } from "./stsconfigplugin.js";
4
- export class STSTestPlugin {
5
- logger = inject(STSLoggerToken);
6
- config = inject(STSConfigToken);
7
- install = (injector, options) => {
8
- injector.register({
9
- provide: ProcessBaseToken,
10
- useValue: this,
11
- });
12
- };
13
- Start = async () => {
14
- this.logger.info(`STSTestPlugin: Start() Starting ...`);
15
- this.logger.info(this.config.rest01servicename);
16
- this.logger.info(this.config.rest01serviceversion);
17
- await Sleep(1000);
18
- this.logger.info(`STSTestPlugin: Start() Started`);
19
- };
20
- Stop = async () => {
21
- this.logger.info(`STSTestPlugin: Stop() Stopping ...`);
22
- await Sleep(1000);
23
- this.logger.info(`STSTestPlugin: Stop() Stopped`);
24
- };
25
- }
26
- //# sourceMappingURL=ststestplugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ststestplugin.js","sourceRoot":"","sources":["../../../src/process/plugins/ststestplugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,aAAa;IACL,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAChC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO,GAAG,CAAC,QAAkB,EAAE,OAA6B,EAAQ,EAAE;QAClE,QAAQ,CAAC,QAAQ,CAAC;YACd,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC,CAAC;IACF,KAAK,GAAG,KAAK,IAAI,EAAE;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACtD,CAAC,CAAC;CACL"}
@@ -1,203 +0,0 @@
1
- // processbase.ts
2
- /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
3
- import { STSTransportLoggerWinston } from "./../logger/stsTransportLoggerWinston.js";
4
- import chalk from "chalk";
5
- import { goptions } from "@nsshunt/stsconfig";
6
- import { createAgentManager, inject } from "@nsshunt/stsutils";
7
- import { PublishInstrumentController, TransportType, GetInstruments, } from "@nsshunt/stsinstrumentmanagerclient";
8
- import { getCurrentInjector } from "@nsshunt/stsutils";
9
- import os from "os";
10
- import { CreateServiceProcessContext, ProcessOptionsToken, AgentManagerToken, PublishInstrumentControllerToken, STSLoggerToken, ProcessBaseToken, ProcessMetricsToken, STSTransportLoggerWinstonToken, DataManagerToken, LatencyManagerToken, LogManagerToken, } from "./../commonTypes.js";
11
- import { TinyEmitter } from "tiny-emitter";
12
- import http from "node:http";
13
- import https from "node:https";
14
- import { Metrics } from "./metrics.js";
15
- import { DataManager } from "./datamanager.js";
16
- import { LatencyManager } from "./latencyManager.js";
17
- import { LogManager } from "./logManager.js";
18
- export class ProcessBase extends TinyEmitter {
19
- #processBaseInjector;
20
- options;
21
- constructor(options) {
22
- super();
23
- this.options = options;
24
- if (options.serviceName) {
25
- options.serviceProcessContext = CreateServiceProcessContext(options.serviceName, options.serviceVersion, options.serviceInstanceId, os.hostname(), process.pid, options.isMaster ? process.pid : process.ppid);
26
- }
27
- this.#processBaseInjector = getCurrentInjector().createChild([
28
- {
29
- provide: ProcessBaseToken,
30
- useValue: this,
31
- },
32
- {
33
- provide: STSLoggerToken,
34
- useValue: options.logger,
35
- },
36
- {
37
- provide: ProcessOptionsToken,
38
- useValue: options,
39
- },
40
- {
41
- provide: DataManagerToken,
42
- useFactory: this.#CreateDataManager,
43
- },
44
- {
45
- provide: AgentManagerToken,
46
- useFactory: this.#CreateAgentManager,
47
- },
48
- {
49
- provide: PublishInstrumentControllerToken,
50
- useFactory: this.#CreatePublishInstrumentController,
51
- },
52
- {
53
- provide: ProcessMetricsToken,
54
- useClass: Metrics,
55
- },
56
- {
57
- provide: STSTransportLoggerWinstonToken,
58
- useFactory: () => new STSTransportLoggerWinston(inject(ProcessMetricsToken)),
59
- },
60
- {
61
- provide: LatencyManagerToken,
62
- useClass: LatencyManager,
63
- },
64
- {
65
- provide: LogManagerToken,
66
- useClass: LogManager,
67
- },
68
- ]);
69
- }
70
- #CreateDataManager = () => {
71
- const options = inject(ProcessOptionsToken);
72
- if (!options.useDatabase) {
73
- return undefined;
74
- }
75
- return new DataManager();
76
- };
77
- #CreateAgentManager = () => {
78
- return createAgentManager({
79
- agentOptions: {
80
- keepAlive: false, // Use basic defaults. This agent will not use keep-alive.
81
- maxFreeSockets: goptions.maxFreeSockets,
82
- maxSockets: goptions.maxSockets,
83
- maxTotalSockets: goptions.maxTotalSockets,
84
- timeout: goptions.timeout,
85
- rejectUnauthorized: goptions.isProduction, // Allows self-signed certificates if non-production
86
- },
87
- httpAgentFactory(options) {
88
- return new http.Agent(options);
89
- },
90
- httpsAgentFactory(options) {
91
- return new https.Agent(options);
92
- },
93
- });
94
- };
95
- #CreatePublishInstrumentController = () => {
96
- if (!this.options.serviceProcessContext) {
97
- return undefined;
98
- }
99
- let publishTransportOptions = null;
100
- if (goptions.observabilityPublishMode.localeCompare("PROXY") === 0) {
101
- publishTransportOptions = {
102
- transportType: TransportType.RESTAPI,
103
- url: `${goptions.imendpoint}:${goptions.import}${goptions.imapiroot}/publishmessage`,
104
- agentManager: inject(AgentManagerToken),
105
- // Use this for sockets: socketPath: '/var/run/sts/stsrest01.sock'
106
- logger: this.options.publisherLogger,
107
- };
108
- }
109
- else {
110
- // Currently, now other types are supported
111
- return;
112
- }
113
- const httpServer = goptions.STSServerType.localeCompare("EXPRESS") === 0 ||
114
- goptions.STSServerType.localeCompare("EXPRESS_TLS") === 0;
115
- const instrumentControllerOptions = {
116
- processContext: this.options.serviceProcessContext,
117
- consoleLogging: this.options.consoleLogging,
118
- instrumentLogging: this.options.instrumentLogging,
119
- httpServer,
120
- instrumentationObservationInterval: this.options.instrumentationObservationInterval,
121
- instrumentationTimeWindow: this.options.instrumentationTimeWindow,
122
- logger: this.options.publisherLogger,
123
- publishInterval: this.options.publishInterval,
124
- publishPostFailInterval: 5000, //@@
125
- instrumentDefinitions: GetInstruments("service"),
126
- publishTransportBaseOptions: publishTransportOptions,
127
- autoStart: true,
128
- };
129
- return new PublishInstrumentController(instrumentControllerOptions);
130
- };
131
- ProcessBaseInjector = () => {
132
- return this.#processBaseInjector;
133
- };
134
- get shuttingDown() {
135
- return false;
136
- }
137
- ProcessStartup = () => {
138
- this.#processBaseInjector.get(ProcessMetricsToken).Start();
139
- if (this.options.useDatabase) {
140
- // Get the accessLayer to force DB connection test
141
- this.#processBaseInjector.get(DataManagerToken)?.StartDatabase();
142
- }
143
- };
144
- ProcessExit = (processExitDelay) => {
145
- const lm = this.#processBaseInjector.get(LogManagerToken);
146
- if (this.options.processExitOnTerminate &&
147
- this.options.processExitOnTerminate === true) {
148
- setTimeout(() => {
149
- lm.LogInfoMessage(`Performing process.exit(0).`);
150
- process.exit(0);
151
- }, processExitDelay); // Give the workers time to terminate gracefully
152
- }
153
- else {
154
- lm.LogInfoMessage(`Performing process.exit(0) - Immediate.`);
155
- }
156
- };
157
- TerminateInstrumentController = () => {
158
- const ic = this.#processBaseInjector.get(PublishInstrumentControllerToken);
159
- if (ic) {
160
- this.#processBaseInjector
161
- .get(LogManagerToken)
162
- .LogInfoMessage(`ProcessBase:TerminateInstrumentController()`);
163
- setTimeout(async () => {
164
- if (ic) {
165
- await ic.EndPublish();
166
- setTimeout(() => {
167
- const am = this.#processBaseInjector.get(AgentManagerToken);
168
- if (am) {
169
- am.Terminate();
170
- }
171
- }, 50);
172
- }
173
- }, 100);
174
- }
175
- };
176
- async ProcessTerminate() {
177
- this.emit("ProcessTerminate");
178
- this.#processBaseInjector.get(ProcessMetricsToken).Stop();
179
- }
180
- GetSignalColour = (signal) => {
181
- let msgcolor = null;
182
- if (signal === "SIGINT") {
183
- msgcolor = chalk.yellow;
184
- }
185
- else {
186
- msgcolor = chalk.red;
187
- }
188
- return msgcolor;
189
- };
190
- emit(event, ...arg) {
191
- super.emit(event, ...arg);
192
- return this;
193
- }
194
- on(event, callback) {
195
- super.on(event, callback);
196
- return this;
197
- }
198
- off(event, callback) {
199
- super.off(event, callback);
200
- return this;
201
- }
202
- }
203
- //# sourceMappingURL=processbase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processbase.js","sourceRoot":"","sources":["../../src/process/processbase.ts"],"names":[],"mappings":"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"}