@nsshunt/stsappframework 2.19.281 → 2.19.283
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/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/influxdb/influxDBManager.js +334 -0
- package/dist/influxdb/influxDBManager.js.map +1 -0
- package/dist/influxdb/influxDBManagerAgent.js +211 -0
- package/dist/influxdb/influxDBManagerAgent.js.map +1 -0
- package/dist/influxdb/influxDBManagerBase.js +97 -0
- package/dist/influxdb/influxDBManagerBase.js.map +1 -0
- package/dist/influxdb/influxDBManagerService.js +240 -0
- package/dist/influxdb/influxDBManagerService.js.map +1 -0
- package/dist/kafka/IMKafkaManager.js +103 -0
- package/dist/kafka/IMKafkaManager.js.map +1 -0
- package/dist/processbase.js +6 -3
- package/dist/processbase.js.map +1 -1
- package/package.json +3 -2
- package/src/commonTypes.ts +15 -0
- package/src/index.ts +5 -0
- package/src/influxdb/influxDBManager.ts +359 -0
- package/src/influxdb/influxDBManagerAgent.ts +227 -0
- package/src/influxdb/influxDBManagerBase.ts +119 -0
- package/src/influxdb/influxDBManagerService.ts +257 -0
- package/src/kafka/IMKafkaManager.ts +119 -0
- package/src/processbase.ts +5 -3
- package/types/commonTypes.d.ts +14 -0
- package/types/commonTypes.d.ts.map +1 -1
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -1
- package/types/influxdb/influxDBManager.d.ts +18 -0
- package/types/influxdb/influxDBManager.d.ts.map +1 -0
- package/types/influxdb/influxDBManagerAgent.d.ts +27 -0
- package/types/influxdb/influxDBManagerAgent.d.ts.map +1 -0
- package/types/influxdb/influxDBManagerBase.d.ts +19 -0
- package/types/influxdb/influxDBManagerBase.d.ts.map +1 -0
- package/types/influxdb/influxDBManagerService.d.ts +27 -0
- package/types/influxdb/influxDBManagerService.d.ts.map +1 -0
- package/types/kafka/IMKafkaManager.d.ts +11 -0
- package/types/kafka/IMKafkaManager.d.ts.map +1 -0
- package/types/processbase.d.ts.map +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfluxDBManagerBase = void 0;
|
|
4
|
+
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
5
|
+
const goptions = (0, stsconfig_1.$Options)();
|
|
6
|
+
const _logPrefix = 'InfluxDBManager:';
|
|
7
|
+
class InfluxDBManagerBase {
|
|
8
|
+
#queryApi;
|
|
9
|
+
#writeClient;
|
|
10
|
+
#shuttingDown = false;
|
|
11
|
+
#options;
|
|
12
|
+
constructor(options, queryApi, writeClient) {
|
|
13
|
+
this.#queryApi = queryApi;
|
|
14
|
+
this.#writeClient = writeClient;
|
|
15
|
+
this.#options = options;
|
|
16
|
+
}
|
|
17
|
+
get options() {
|
|
18
|
+
return this.#options;
|
|
19
|
+
}
|
|
20
|
+
get queryApi() {
|
|
21
|
+
return this.#queryApi;
|
|
22
|
+
}
|
|
23
|
+
get writeClient() {
|
|
24
|
+
return this.#writeClient;
|
|
25
|
+
}
|
|
26
|
+
get shuttingDown() {
|
|
27
|
+
return this.#shuttingDown;
|
|
28
|
+
}
|
|
29
|
+
set shuttingDown(val) {
|
|
30
|
+
this.#shuttingDown = val;
|
|
31
|
+
}
|
|
32
|
+
get modelType() {
|
|
33
|
+
throw new Error('modelType(): Must override in sub-class');
|
|
34
|
+
}
|
|
35
|
+
// Helpers --------------------------------------------------------------------------------------------------------
|
|
36
|
+
async ProcessInfluxDBResults(promArray, fields) {
|
|
37
|
+
try {
|
|
38
|
+
const promRetVal = await Promise.all(promArray).catch(error => {
|
|
39
|
+
console.error(error);
|
|
40
|
+
});
|
|
41
|
+
const stscount = promRetVal[0];
|
|
42
|
+
const stsquantile = promRetVal[1];
|
|
43
|
+
const stshisto = promRetVal[2];
|
|
44
|
+
const combinedResults = {};
|
|
45
|
+
stscount.forEach((countRecord) => {
|
|
46
|
+
const values = fields.map(field => countRecord[field]);
|
|
47
|
+
const { _field, _value } = countRecord;
|
|
48
|
+
this.CreateNestedObject(combinedResults, values)[_field] = _value;
|
|
49
|
+
});
|
|
50
|
+
stsquantile.forEach((stsquantileRecord) => {
|
|
51
|
+
const values = fields.map(field => stsquantileRecord[field]);
|
|
52
|
+
const { _field, quantile, _value } = stsquantileRecord;
|
|
53
|
+
const useField = _field + '_quantile';
|
|
54
|
+
this.CreateNestedObject(combinedResults, [...values, useField])[quantile] = _value;
|
|
55
|
+
});
|
|
56
|
+
stshisto.forEach((stshistoRecord) => {
|
|
57
|
+
const values = fields.map(field => stshistoRecord[field]);
|
|
58
|
+
const { _field, le, _value } = stshistoRecord;
|
|
59
|
+
const useField = _field + '_histo';
|
|
60
|
+
this.CreateNestedObject(combinedResults, [...values, useField])[le] = _value;
|
|
61
|
+
});
|
|
62
|
+
return combinedResults;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
console.error(`${_logPrefix}ProcessInfluxDBResults: Error: [${error}]`.red);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
CreateGlobalCountModel = (stscount) => {
|
|
69
|
+
try {
|
|
70
|
+
const results = {};
|
|
71
|
+
stscount.forEach((o) => {
|
|
72
|
+
results[o._field] = o._value;
|
|
73
|
+
});
|
|
74
|
+
return results;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error(`${_logPrefix}#CreateGlobalCountModel: Error: [${error}]`.red);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
CreateNestedObject(combinedResults, keyList) {
|
|
81
|
+
let workingObject = combinedResults;
|
|
82
|
+
keyList.forEach((key) => {
|
|
83
|
+
if (!workingObject[key]) {
|
|
84
|
+
workingObject[key] = {};
|
|
85
|
+
}
|
|
86
|
+
workingObject = workingObject[key];
|
|
87
|
+
});
|
|
88
|
+
return workingObject;
|
|
89
|
+
}
|
|
90
|
+
// Agent context payload
|
|
91
|
+
// {"nid":"somehost@e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent|MainProcess|0","id":"somehost@e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent|MainProcess|0","hostName":"somehost","agentName":"e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent","threadId":"MainProcess","asyncRunnerId":"0"}
|
|
92
|
+
async OutputInfluxDB(instrumentPayload) {
|
|
93
|
+
throw new Error('Must override in sub-class');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.InfluxDBManagerBase = InfluxDBManagerBase;
|
|
97
|
+
//# sourceMappingURL=influxDBManagerBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influxDBManagerBase.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfluxDBManagerService = void 0;
|
|
4
|
+
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
5
|
+
const influxdb_client_1 = require("@influxdata/influxdb-client");
|
|
6
|
+
const stsinstrumentation_1 = require("@nsshunt/stsinstrumentation");
|
|
7
|
+
const influxDBManagerBase_1 = require("./influxDBManagerBase");
|
|
8
|
+
const _logPrefix = 'InfluxDBManagerService:';
|
|
9
|
+
class InfluxDBManagerService extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
10
|
+
constructor(options, queryApi, writeClient) {
|
|
11
|
+
super(options, queryApi, writeClient);
|
|
12
|
+
}
|
|
13
|
+
get modelType() {
|
|
14
|
+
return 'service';
|
|
15
|
+
}
|
|
16
|
+
// Queries --------------------------------------------------------------------------------------------------------
|
|
17
|
+
// Counter metrics
|
|
18
|
+
#GetSTSCountGenericService = async (filterClause, groupClause, showOutput = false) => {
|
|
19
|
+
try {
|
|
20
|
+
const query = `dostscountex = (q, d) =>
|
|
21
|
+
from(bucket: "${this.options.bucket}")
|
|
22
|
+
|> range(start: d)
|
|
23
|
+
|> filter(fn: (r) => r["_measurement"] == "all" and r["modelType"] == "service" ${filterClause})
|
|
24
|
+
|> filter(fn: (r) => r["_field"] == q)
|
|
25
|
+
|> last()
|
|
26
|
+
|> ${groupClause}
|
|
27
|
+
|> sum()
|
|
28
|
+
|
|
29
|
+
dogetmemory = () =>
|
|
30
|
+
from(bucket: "${this.options.bucket}")
|
|
31
|
+
|> range(start: -5s)
|
|
32
|
+
|> filter(fn: (r) => r["_measurement"] == "all" and r["modelType"] == "service" ${filterClause})
|
|
33
|
+
|> filter(fn: (r) => r["_field"] == "memory")
|
|
34
|
+
|> last()
|
|
35
|
+
|
|
36
|
+
dostscount = (d) =>
|
|
37
|
+
union(tables: [
|
|
38
|
+
dostscountex(q: "requestCount", d: d),
|
|
39
|
+
dostscountex(q: "errorCount", d: d),
|
|
40
|
+
dostscountex(q: "retryCount", d: d),
|
|
41
|
+
dostscountex(q: "authenticationCount", d: d),
|
|
42
|
+
dostscountex(q: "activeRequestCount", d: d),
|
|
43
|
+
dostscountex(q: "connectionCount", d: d),
|
|
44
|
+
dostscountex(q: "connectionPoolCount", d: d),
|
|
45
|
+
dostscountex(q: "connectionIdleCount", d: d),
|
|
46
|
+
dostscountex(q: "connectionWaitingCount", d: d),
|
|
47
|
+
dostscountex(q: "coreCount", d: d),
|
|
48
|
+
dostscountex(q: "cpu", d: d),
|
|
49
|
+
dostscountex(q: "systemcpu", d: d),
|
|
50
|
+
dostscountex(q: "velocity", d: d),
|
|
51
|
+
dostscountex(q: "timer", d: d),
|
|
52
|
+
dostscountex(q: "duration", d: d),
|
|
53
|
+
dostscountex(q: "latency", d: d),
|
|
54
|
+
dogetmemory()
|
|
55
|
+
])
|
|
56
|
+
dostscount(d: -5s)`;
|
|
57
|
+
if (showOutput) {
|
|
58
|
+
console.log(query);
|
|
59
|
+
}
|
|
60
|
+
return this.queryApi.collectRows(query);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error(`${_logPrefix}#GetSTSCountGeneric: Error: [${error}]`.red);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
// Histo metrics
|
|
67
|
+
#GetSTSHistoGenericService = async (modelType, filterClause, groupClause) => {
|
|
68
|
+
try {
|
|
69
|
+
const query = `import "math"
|
|
70
|
+
|
|
71
|
+
dostshistoex = (q, d) =>
|
|
72
|
+
from(bucket: "${this.options.bucket}")
|
|
73
|
+
|> range(start: d)
|
|
74
|
+
|> filter(fn: (r) => r["_measurement"] == "all")
|
|
75
|
+
|> filter(fn: (r) => r["_field"] == q and r["modelType"] == "${modelType}" ${filterClause})
|
|
76
|
+
|> ${groupClause}
|
|
77
|
+
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
78
|
+
|> difference()
|
|
79
|
+
|
|
80
|
+
dostshisto = (d) =>
|
|
81
|
+
union(tables: [
|
|
82
|
+
dostshistoex(q: "latency", d: d),
|
|
83
|
+
dostshistoex(q: "duration", d: d)
|
|
84
|
+
])
|
|
85
|
+
|
|
86
|
+
dostshisto(d: -10m)`;
|
|
87
|
+
return this.queryApi.collectRows(query);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error(`${_logPrefix}#GetSTSHistoGeneric: Error: [${error}]`.red);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
// Quantile metrics
|
|
94
|
+
#GetSTSQuantileGenericService = async (modelType, filterClause, groupClause) => {
|
|
95
|
+
try {
|
|
96
|
+
const query = `dostsquantileex = (q, d, i, f) =>
|
|
97
|
+
from(bucket: "${this.options.bucket}")
|
|
98
|
+
|> range(start: d)
|
|
99
|
+
|> filter(fn: (r) => r["_measurement"] == "all")
|
|
100
|
+
|> filter(fn: (r) => r["_field"] == f and r["modelType"] == "${modelType}" ${filterClause})
|
|
101
|
+
|> ${groupClause}
|
|
102
|
+
|> aggregateWindow(every: i, fn: max, createEmpty: false)
|
|
103
|
+
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
104
|
+
|> set(key: "quantile", value: string(v:q))
|
|
105
|
+
|> group(columns: ["LatencyType","quantile"])
|
|
106
|
+
|
|
107
|
+
dostsquantile = (d, i, f) =>
|
|
108
|
+
union(tables: [
|
|
109
|
+
dostsquantileex(q: 0.5, d: d, i: i, f: f),
|
|
110
|
+
dostsquantileex(q: 0.8, d: d, i: i, f: f),
|
|
111
|
+
dostsquantileex(q: 0.9, d: d, i: i, f: f),
|
|
112
|
+
dostsquantileex(q: 0.95, d: d, i: i, f: f),
|
|
113
|
+
dostsquantileex(q: 0.99, d: d, i: i, f: f)
|
|
114
|
+
])
|
|
115
|
+
|
|
116
|
+
union(tables: [
|
|
117
|
+
dostsquantile(d: -10m, i: 5s, f: "latency"),
|
|
118
|
+
dostsquantile(d: -10m, i: 5s, f: "duration")
|
|
119
|
+
dostsquantile(d: -10m, i: 5s, f: "cpu")
|
|
120
|
+
dostsquantile(d: -10m, i: 5s, f: "systemcpu")
|
|
121
|
+
])`;
|
|
122
|
+
return this.queryApi.collectRows(query);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(`${_logPrefix}#GetSTSQuantileGeneric: Error: [${error}]`.red);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
// Metric queries -------------------------------------------------------------------------------------------------
|
|
129
|
+
// Root level metrics
|
|
130
|
+
async GetInfluxDBResultsRootService() {
|
|
131
|
+
try {
|
|
132
|
+
const combinedResults = await this.ProcessInfluxDBResults([
|
|
133
|
+
this.#GetSTSCountGenericService('', 'group(columns: ["_field"])'),
|
|
134
|
+
this.#GetSTSQuantileGenericService(`service`, '', 'group(columns: ["_field"])'),
|
|
135
|
+
this.#GetSTSHistoGenericService('service', '', 'group(columns: ["_field"])')
|
|
136
|
+
], []);
|
|
137
|
+
return { SubscriptionType: "ID_", data: combinedResults };
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error(`${_logPrefix}GetInfluxDBResultsRoot: Error: [${error}]`.red);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Service level metrics
|
|
144
|
+
async GetInfluxDBResultsService() {
|
|
145
|
+
try {
|
|
146
|
+
const combinedResults = await this.ProcessInfluxDBResults([
|
|
147
|
+
this.#GetSTSCountGenericService('', 'group(columns: ["serviceId", "_field"])'),
|
|
148
|
+
this.#GetSTSQuantileGenericService(`service`, '', 'group(columns: ["serviceId", "_field"])'),
|
|
149
|
+
this.#GetSTSHistoGenericService('service', '', 'group(columns: ["serviceId", "_field"])')
|
|
150
|
+
], ['serviceId']);
|
|
151
|
+
return { SubscriptionType: "ID_Service", data: combinedResults };
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
console.error(`${_logPrefix}GetInfluxDBResultsService: Error: [${error}]`.red);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Service instance metrics for a particular service type
|
|
158
|
+
async GetInfluxDBResultsServiceInstances(serviceId) {
|
|
159
|
+
try {
|
|
160
|
+
const combinedResults = await this.ProcessInfluxDBResults([
|
|
161
|
+
this.#GetSTSCountGenericService(`and r["serviceId"] == "${serviceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "_field"])`),
|
|
162
|
+
this.#GetSTSQuantileGenericService(`service`, `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
|
|
163
|
+
this.#GetSTSHistoGenericService('service', `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')
|
|
164
|
+
], ['serviceId', 'serviceInstanceId']);
|
|
165
|
+
return { SubscriptionType: `ID_ServiceInstances_${serviceId}`, data: combinedResults };
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
console.error(`${_logPrefix}GetInfluxDBResultsServiceInstances: Error: [${error}]`.red);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Service instance thread metrics for a particular service instance
|
|
172
|
+
async GetInfluxDBResultsServiceInstance(serviceInstanceId) {
|
|
173
|
+
try {
|
|
174
|
+
const combinedResults = await this.ProcessInfluxDBResults([
|
|
175
|
+
this.#GetSTSCountGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])`),
|
|
176
|
+
this.#GetSTSQuantileGenericService(`service`, `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
|
|
177
|
+
this.#GetSTSHistoGenericService('service', `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')
|
|
178
|
+
], ['serviceId', 'serviceInstanceId', 'serviceInstanceProcessId']);
|
|
179
|
+
return { SubscriptionType: `ID_ServiceInstance_${serviceInstanceId}`, data: combinedResults };
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
console.error(`${_logPrefix}GetInfluxDBResultsServiceInstance: Error: [${error}]`.red);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Write data points ----------------------------------------------------------------------------------------------
|
|
186
|
+
// Agent context payload
|
|
187
|
+
// {"nid":"somehost@e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent|MainProcess|0","id":"somehost@e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent|MainProcess|0","hostName":"somehost","agentName":"e58f5d75-6ff6-4e04-92a4-f2bcd722fec0-someuseragent","threadId":"MainProcess","asyncRunnerId":"0"}
|
|
188
|
+
async OutputInfluxDB(instrumentPayload) {
|
|
189
|
+
try {
|
|
190
|
+
if (this.shuttingDown) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
const { serviceId, serviceInstanceId, hostName, serviceInstanceProcessId, pid, ppid, isMaster, isWorker, serviceName, serviceVersion } = instrumentPayload.context;
|
|
194
|
+
let systemcpu = 0.0;
|
|
195
|
+
if (instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_SYSTEM_LOAD_GAUGE]) {
|
|
196
|
+
systemcpu = instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_SYSTEM_LOAD_GAUGE].val;
|
|
197
|
+
}
|
|
198
|
+
const point = new influxdb_client_1.Point('all')
|
|
199
|
+
// Context settings
|
|
200
|
+
.tag('serviceId', serviceId)
|
|
201
|
+
.tag('serviceName', serviceName)
|
|
202
|
+
.tag('serviceVersion', serviceVersion)
|
|
203
|
+
.tag('serviceInstanceId', serviceInstanceId)
|
|
204
|
+
.tag('serviceInstanceProcessId', serviceInstanceProcessId)
|
|
205
|
+
.tag('hostName', hostName)
|
|
206
|
+
.tag('pid', pid.toString())
|
|
207
|
+
.tag('ppid', ppid.toString())
|
|
208
|
+
.tag('isMaster', isMaster.toString())
|
|
209
|
+
.tag('isWorker', isWorker.toString())
|
|
210
|
+
.tag('modelType', 'service')
|
|
211
|
+
// Data fields
|
|
212
|
+
.intField('requestCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.REQUEST_COUNT_GAUGE].val)
|
|
213
|
+
.intField('errorCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.ERROR_COUNT_GAUGE].val)
|
|
214
|
+
.intField('retryCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.RETRY_COUNT_GAUGE].val)
|
|
215
|
+
.intField('authenticationCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.AUTHENTICATION_COUNT_GAUGE].val)
|
|
216
|
+
.floatField('velocity', instrumentPayload.instruments[stsinstrumentation_1.Gauge.VELOCITY_GAUGE].va)
|
|
217
|
+
.floatField('cpu', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_LOAD_GAUGE].val)
|
|
218
|
+
.intField('activeRequestCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.ACTIVE_REQUEST_GAUGE].val)
|
|
219
|
+
.intField('connectionCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CONNECTION_COUNT_GAUGE].val)
|
|
220
|
+
.intField('connectionPoolCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CONNECTION_POOL_TOTAL_GAUGE].val)
|
|
221
|
+
.intField('connectionIdleCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CONNECTION_POOL_IDLE_GAUGE].val)
|
|
222
|
+
.intField('connectionWaitingCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CONNECTION_POOL_WAITING_GAUGE].val)
|
|
223
|
+
.intField('coreCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.CORE_COUNT_GAUGE].val)
|
|
224
|
+
.floatField('timer', instrumentPayload.instruments[stsinstrumentation_1.Gauge.TIMER_GAUGE].val)
|
|
225
|
+
.floatField('duration', instrumentPayload.instruments[stsinstrumentation_1.Gauge.DURATION_GAUGE].val)
|
|
226
|
+
.floatField('latency', instrumentPayload.instruments[stsinstrumentation_1.Gauge.LATENCY_GAUGE].val)
|
|
227
|
+
.floatField('systemcpu', systemcpu)
|
|
228
|
+
.stringField('memory', JSON.stringify(instrumentPayload.instruments[stsinstrumentation_1.Gauge.OBJECT_GAUGE].val));
|
|
229
|
+
this.writeClient.writePoint(point);
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
console.error(`${_logPrefix}OutputInfluxDB: Could not write data point: [${error}]`.red);
|
|
234
|
+
console.error(`${JSON.stringify(instrumentPayload.context)}`.red);
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.InfluxDBManagerService = InfluxDBManagerService;
|
|
240
|
+
//# sourceMappingURL=influxDBManagerService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influxDBManagerService.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IMKafkaManager = void 0;
|
|
4
|
+
const stsinstrumentation_1 = require("@nsshunt/stsinstrumentation");
|
|
5
|
+
const kafkamanager_1 = require("./kafkamanager");
|
|
6
|
+
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
7
|
+
const goptions = (0, stsconfig_1.$Options)();
|
|
8
|
+
const _logPrefix = 'IMKafkaManager.';
|
|
9
|
+
// Manage the publication of InstrumentPayload to Kafka
|
|
10
|
+
class IMKafkaManager {
|
|
11
|
+
#shuttingDown = false;
|
|
12
|
+
#producer = null;
|
|
13
|
+
#km;
|
|
14
|
+
#topics = {};
|
|
15
|
+
constructor() {
|
|
16
|
+
//super(options);
|
|
17
|
+
const kmc = {
|
|
18
|
+
clientId: goptions.kafka_clientId,
|
|
19
|
+
brokers: goptions.kafka_brokers.split(','),
|
|
20
|
+
keepAlive: goptions.kafka_keep_alive,
|
|
21
|
+
adminTimeout: goptions.kafka_admin_timeout,
|
|
22
|
+
connectionTimeout: goptions.kafka_connection_timeout,
|
|
23
|
+
logLevel: goptions.kafka_log_level,
|
|
24
|
+
useSSL: goptions.kafka_use_ssl,
|
|
25
|
+
requestTimeout: goptions.kafka_request_timeout
|
|
26
|
+
};
|
|
27
|
+
if (goptions.kafka_use_ssl) {
|
|
28
|
+
kmc.ssl = {
|
|
29
|
+
rejectUnauthorized: goptions.kafka_ssl_rejectUnauthorized,
|
|
30
|
+
cafile: goptions.kafka_ssl_cafile,
|
|
31
|
+
certfileFile: goptions.kafka_ssl_certfile,
|
|
32
|
+
keyfile: goptions.kafka_ssl_keyfile
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
this.#km = new kafkamanager_1.KafkaManager(kmc);
|
|
36
|
+
}
|
|
37
|
+
get km() {
|
|
38
|
+
return this.#km;
|
|
39
|
+
}
|
|
40
|
+
Start = async () => {
|
|
41
|
+
this.#producer = this.#km.CreateProducer();
|
|
42
|
+
await this.#producer.Connect();
|
|
43
|
+
};
|
|
44
|
+
Terminate = async () => {
|
|
45
|
+
try {
|
|
46
|
+
if (this.#shuttingDown) {
|
|
47
|
+
console.log(`IMKafkaManager:Terminate: Terminate already called. Ignoring.`.yellow);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.#shuttingDown = true;
|
|
51
|
+
console.log(`ProducerDisconnect`.yellow);
|
|
52
|
+
if (this.#producer) {
|
|
53
|
+
await this.#producer.Disconnect();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error(`${_logPrefix}#Terminate: Error: [${error}]`.red);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
async OutputLogs(instrumentPayload) {
|
|
62
|
+
try {
|
|
63
|
+
if (this.#shuttingDown) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
let topic = '';
|
|
67
|
+
if (instrumentPayload.context.agentName) {
|
|
68
|
+
const { agentName, threadId, asyncRunnerId } = instrumentPayload.context;
|
|
69
|
+
topic = `${agentName}_${threadId}_${asyncRunnerId}`.replace(/@/g, '_');
|
|
70
|
+
topic = topic.replace(/\|/g, '_');
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const { serviceInstanceId, serviceInstanceProcessId } = instrumentPayload.context;
|
|
74
|
+
topic = (serviceInstanceId + '_' + serviceInstanceProcessId).replace(/@/g, '_');
|
|
75
|
+
}
|
|
76
|
+
if (!this.#topics[topic]) {
|
|
77
|
+
console.log(`Setting up kafka topic: [${topic}]`.red);
|
|
78
|
+
await this.#km.CreateTopic(topic, 1);
|
|
79
|
+
this.#topics[topic] = true;
|
|
80
|
+
}
|
|
81
|
+
if (instrumentPayload.instruments[stsinstrumentation_1.Gauge.LOGGER]) {
|
|
82
|
+
const loggerMessages = [...instrumentPayload.instruments[stsinstrumentation_1.Gauge.LOGGER].val];
|
|
83
|
+
if (loggerMessages.length > 0) {
|
|
84
|
+
const messages = [];
|
|
85
|
+
loggerMessages.forEach((m) => {
|
|
86
|
+
messages.push({ key: topic, value: m });
|
|
87
|
+
});
|
|
88
|
+
// Don't wait for these to return ...
|
|
89
|
+
if (this.#producer) {
|
|
90
|
+
this.#producer.SendMessages(topic, messages);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.error(`${_logPrefix}OutputLogs: Could not output log data to kafka: [${error}]`.red);
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.IMKafkaManager = IMKafkaManager;
|
|
103
|
+
//# sourceMappingURL=IMKafkaManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMKafkaManager.js","sourceRoot":"","sources":["../../src/kafka/IMKafkaManager.ts"],"names":[],"mappings":";;;AAEA,oEAAmD;AAEnD,iDAAkE;AAKlE,kDAA6C;AAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAE3B,MAAM,UAAU,GAAG,iBAAiB,CAAA;AAEpC,uDAAuD;AACvD,MAAa,cAAc;IACvB,aAAa,GAAY,KAAK,CAAC;IAC/B,SAAS,GAAyB,IAAI,CAAC;IAEvC,GAAG,CAAe;IAClB,OAAO,GAAe,EAAG,CAAA;IAEzB;QAEI,iBAAiB;QAEjB,MAAM,GAAG,GAAwB;YAC7B,QAAQ,EAAE,QAAQ,CAAC,cAAc;YACjC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1C,SAAS,EAAE,QAAQ,CAAC,gBAAgB;YACpC,YAAY,EAAE,QAAQ,CAAC,mBAAmB;YAC1C,iBAAiB,EAAE,QAAQ,CAAC,wBAAwB;YACpD,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,MAAM,EAAE,QAAQ,CAAC,aAAa;YAC9B,cAAc,EAAE,QAAQ,CAAC,qBAAqB;SACjD,CAAA;QACD,IAAI,QAAQ,CAAC,aAAa,EAAE;YACxB,GAAG,CAAC,GAAG,GAAG;gBACN,kBAAkB,EAAE,QAAQ,CAAC,4BAA4B;gBACzD,MAAM,EAAE,QAAQ,CAAC,gBAAgB;gBACjC,YAAY,EAAE,QAAQ,CAAC,kBAAkB;gBACzC,OAAO,EAAE,QAAQ,CAAC,iBAAiB;aACtC,CAAA;SACJ;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,2BAAY,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,KAAK,GAAG,KAAK,IAAmB,EAAE;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC,CAAA;IAED,SAAS,GAAG,KAAK,IAAmB,EAAE;QAClC,IAAI;YACA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,MAAM,CAAC,CAAC;aACvF;iBAAM;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;iBACrC;aACJ;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,uBAAuB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SACnE;IACL,CAAC,CAAA;IAED,KAAK,CAAC,UAAU,CAAC,iBAAoC;QACjD,IAAI;YACA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,KAAK,GAAW,EAAE,CAAC;YAEvB,IAAI,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE;gBACrC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;gBAEzE,KAAK,GAAG,GAAG,SAAS,IAAI,QAAQ,IAAI,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;aACpC;iBAAM;gBACH,MAAM,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;gBAClF,KAAK,GAAG,CAAC,iBAAiB,GAAG,GAAG,GAAG,wBAAwB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACnF;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;aAC9B;YAED,IAAI,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,MAAM,CAAC,EAAE;gBAC7C,MAAM,cAAc,GAAG,CAAE,GAAG,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,MAAM,CAAC,CAAC,GAAe,CAAE,CAAA;gBACzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE3B,MAAM,QAAQ,GAAiB,EAAG,CAAC;oBACnC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACzB,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAA;oBACzC,CAAC,CAAC,CAAC;oBAEH,qCAAqC;oBACrC,IAAI,IAAI,CAAC,SAAS,EAAE;wBAChB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,QAAe,CAAC,CAAC;qBACvD;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAU,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,oDAAoD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7F,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;CACJ;AAvGD,wCAuGC"}
|
package/dist/processbase.js
CHANGED
|
@@ -143,9 +143,12 @@ class ProcessBase extends stsutils_1.STSOptionsBase {
|
|
|
143
143
|
workerBrokerFactory: this.#ServiceBrokerWorkerFactory,
|
|
144
144
|
useInstrumentationWorkers: this.options.useInstrumentationWorkers
|
|
145
145
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
if (goptions.observabilityProcessingMode.localeCompare('STANDARD') === 0) {
|
|
147
|
+
this.#instrumentController = new stspublisherserver_1.PublishInstrumentControllerV2(instrumentControllerOptions);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this.#instrumentController = new stspublisherserver_1.PublishInstrumentController(instrumentControllerOptions);
|
|
151
|
+
}
|
|
149
152
|
}
|
|
150
153
|
GetAdditionalInstruments() {
|
|
151
154
|
return [];
|
package/dist/processbase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processbase.js","sourceRoot":"","sources":["../src/processbase.ts"],"names":[],"mappings":";;;;;;AAAA,wFAAwF,CAAE,UAAU;AACpG,wDAA+B;AAC/B,qCAA2C;AAC3C,0DAA6B;AAC7B,gEAAkC;AAClC,oDAA2B;AAC3B,0EAAkC,CAAC,gCAAgC;AACnE,uCAAoD;AAEpD,kDAA+B;AAC/B,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,QAAQ,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;AAE7D,oEAAyJ;AAEzJ,kEAAiG;AAEjG,kDAA6C;AAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAE3B,qDAAgE;AAChE,gDAA8D;AAC9D,yDAA+C;AAE/C,oEAE4F;AAE5F,4FAA4F;AAE5F,mDAAwC;AAExC,4CAAoB;AASpB,mEAAmE;AAEnE,MAAsB,WAAY,SAAQ,yBAAc;IAEpD,qBAAqB,GAAuE,IAAI,CAAC;IACjG,0BAA0B,GAAwB,IAAI,CAAC;IACvD,qBAAqB,GAAiG,IAAI,CAAC;IAC3H,YAAY,GAAyB,IAAI,CAAC;IAC1C,YAAY,GAAyB,IAAI,CAAC;IAC1C,MAAM,GAAuB,IAAI,CAAC;IAElC,YAAY,OAAuB;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAA,gDAA2B,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,iBAAiB,EACnI,YAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SACjF;IACL,CAAC;IAED,IAAa,OAAO;QAChB,OAAO,KAAK,CAAC,OAAyB,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;MAIE;IAGF,IAAI,CAAC,OAAY;QACb,OAAO,CAAC,GAAG,EAAE,EAAE;YAEX,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,IAAI,CAAC;YAEf,IAAI,sBAAO,CAAC,SAAS,EACrB;gBACI,MAAM,GAAG,GAAG,CAAC;gBACb,GAAG,GAAG,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1B;iBAAM;gBACH,MAAM,GAAG,GAAG,CAAC;gBACb,GAAG,GAAG,gBAAM,CAAC,KAAK,CAAC;aACtB;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,MAAM,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEb,IAAI,CAAC,gBAAgB,CAAC,0BAAK,CAAC,MAAM,EAAE;gBAChC,UAAU,EAAE,KAAK;aACM,CAAC,CAAC;QACjC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,GAAG,GAAW,EAAE;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,sFAAsF;QACzH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAA;IAED,8BAA8B,GAAmB;QAC7C,YAAY,EAAE,GAAW,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,iDAAiD,CAAC;YAE3F,4BAA4B;YAC5B,sCAAsC;YACtC,MAAM,yBAAyB,GAAG,IAAI,uBAAM,CAAC,QAAQ,EAAE;gBACnD,UAAU,EAAE,GAAG,CAAC,KAAK;gBACrB,gBAAgB;aACnB,CAAC,CAAC;YAEH,yBAAyB,CAAC,KAAK,EAAE,CAAC;YAElC,OAAO,yBAAyB,CAAC;QACrC,CAAC;QACD;;;;UAIE;QACF,OAAO,EAAE;YACL,aAAa,EAAE,kCAAa,CAAC,OAAO;YACpC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,iBAAiB;YACpF,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,4CAA4C;YAC5C,YAAY,EAAE;gBACV,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,kBAAkB,EAAE,QAAQ,CAAC,YAAY,CAAC,qDAAqD;aAClG;SACkC;KAC1C,CAAA;IAED,2BAA2B,GAAmB;QAC1C,YAAY,EAAE,GAAW,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,8CAA8C,CAAC;YAExF,4BAA4B;YAC5B,sCAAsC;YACtC,MAAM,sBAAsB,GAAG,IAAI,uBAAM,CAAC,QAAQ,EAAE;YAChD,iDAAiD;YACjD,gBAAgB;aACnB,CAAC,CAAC;YAEH,sBAAsB,CAAC,KAAK,EAAE,CAAC;YAE/B,OAAO,sBAAsB,CAAC;QAClC,CAAC;QACD;;;;UAIE;KACL,CAAA;IAED,oBAAoB;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACrC,OAAO;SACV;QAED,MAAM,2BAA2B,GAAwC;YACrE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;YAClD,WAAW,EAAE,0CAAqB,CAAC,OAAO;YAC1C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACjD,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,8BAAa,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,8BAAa,CAAC,WAAW,CAAC;YACxH,kCAAkC,EAAE,IAAI,CAAC,OAAO,CAAC,kCAAkC;YACnF,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,yBAAyB;YACjE,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,EAAE;YACtD,sBAAsB,EAAE,IAAI,CAAC,8BAA8B;YAC3D,mBAAmB,EAAE,IAAI,CAAC,2BAA2B;YACrD,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,yBAAyB;SACpE,CAAA;QAED,
|
|
1
|
+
{"version":3,"file":"processbase.js","sourceRoot":"","sources":["../src/processbase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nsshunt/stsappframework",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.283",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -46,10 +46,11 @@
|
|
|
46
46
|
"typescript": "^5.2.2"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
+
"@influxdata/influxdb-client": "^1.33.2",
|
|
49
50
|
"@nsshunt/stsconfig": "^1.25.55",
|
|
50
51
|
"@nsshunt/stsdatamanagement": "^1.17.124",
|
|
51
52
|
"@nsshunt/stsinstrumentation": "^6.11.94",
|
|
52
|
-
"@nsshunt/stspublisherserver": "^1.15.
|
|
53
|
+
"@nsshunt/stspublisherserver": "^1.15.106",
|
|
53
54
|
"@nsshunt/stssocketio-client": "^0.0.23",
|
|
54
55
|
"@nsshunt/stsutils": "^1.16.10",
|
|
55
56
|
"@socket.io/cluster-adapter": "^0.2.2",
|
package/src/commonTypes.ts
CHANGED
|
@@ -179,3 +179,18 @@ export interface ISocketIoServerHelper<ClientToServerEvents extends STSDefaultCl
|
|
|
179
179
|
DisconnectSockets: () => void
|
|
180
180
|
SetupEvent(event: ClientToServerEvents, eventCb: ServerEventCb): ISocketIoServerHelper<ClientToServerEvents, ServerToClientEvents>
|
|
181
181
|
}
|
|
182
|
+
|
|
183
|
+
export interface IInfluxDBManagerOptions {
|
|
184
|
+
token: string // API access token
|
|
185
|
+
url: string // end-pont for API
|
|
186
|
+
org: string // organisation
|
|
187
|
+
bucket: string // bucket to store results
|
|
188
|
+
agent?: {
|
|
189
|
+
influxDB_keepAlive: boolean
|
|
190
|
+
influxDB_maxSockets?: number
|
|
191
|
+
influxDB_maxTotalSockets?: number
|
|
192
|
+
influxDB_maxFreeSockets?: number
|
|
193
|
+
influxDB_timeout?: number
|
|
194
|
+
influxDB_rejectUnauthorized?: boolean
|
|
195
|
+
}
|
|
196
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -13,3 +13,8 @@ export * from './stslatencyroute'
|
|
|
13
13
|
export * from './kafka/kafkamanager'
|
|
14
14
|
export * from './kafka/kafkaproducer'
|
|
15
15
|
export * from './kafka/kafkaconsumer'
|
|
16
|
+
export * from './kafka/IMKafkaManager'
|
|
17
|
+
export * from './influxdb/influxDBManager'
|
|
18
|
+
export * from './influxdb/influxDBManagerBase'
|
|
19
|
+
export * from './influxdb/influxDBManagerService'
|
|
20
|
+
export * from './influxdb/influxDBManagerAgent'
|