@nsshunt/stsappframework 3.0.48 → 3.0.50
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/influxdb/influxDBManagerAgent.js +93 -21
- package/dist/influxdb/influxDBManagerAgent.js.map +1 -1
- package/dist/influxdb/influxDBManagerBase.js.map +1 -1
- package/dist/influxdb/influxDBManagerService.js +52 -28
- package/dist/influxdb/influxDBManagerService.js.map +1 -1
- package/package.json +1 -1
- package/src/influxdb/influxDBManagerAgent.ts +97 -22
- package/src/influxdb/influxDBManagerBase.ts +2 -0
- package/src/influxdb/influxDBManagerService.ts +54 -28
- package/types/influxdb/influxDBManagerAgent.d.ts.map +1 -1
- package/types/influxdb/influxDBManagerBase.d.ts.map +1 -1
- package/types/influxdb/influxDBManagerService.d.ts.map +1 -1
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InfluxDBManagerAgent = void 0;
|
|
4
4
|
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
5
|
+
// https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/
|
|
6
|
+
// https://www.influxdata.com/blog/top-5-hurdles-for-intermediate-flux-users-and-resources-for-optimizing-flux/
|
|
5
7
|
const influxdb_client_1 = require("@influxdata/influxdb-client");
|
|
6
8
|
const stsinstrumentation_1 = require("@nsshunt/stsinstrumentation");
|
|
7
9
|
const influxDBManagerBase_1 = require("./influxDBManagerBase");
|
|
@@ -15,12 +17,38 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
15
17
|
}
|
|
16
18
|
// Queries --------------------------------------------------------------------------------------------------------
|
|
17
19
|
// Counter metrics
|
|
18
|
-
#GetSTSCountGenericAgent = async (
|
|
20
|
+
#GetSTSCountGenericAgent = async (filterClause, groupClause, showOutput = false) => {
|
|
21
|
+
try {
|
|
22
|
+
const query = `from(bucket: "${this.options.bucket}")
|
|
23
|
+
|> range(start: -2s)
|
|
24
|
+
|> last()
|
|
25
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] == "errorCount"
|
|
26
|
+
or r["_field"] == "retryCount"
|
|
27
|
+
or r["_field"] == "authenticationCount"
|
|
28
|
+
or r["_field"] == "velocity"
|
|
29
|
+
or r["_field"] == "coreCount"
|
|
30
|
+
or r["_field"] == "timer"
|
|
31
|
+
or r["_field"] == "duration"
|
|
32
|
+
or r["_field"] == "latency"
|
|
33
|
+
or r["_field"] == "activeRequestCount"
|
|
34
|
+
or r["_field"] == "childCount") ${filterClause})
|
|
35
|
+
|> ${groupClause}
|
|
36
|
+
|> sum()`;
|
|
37
|
+
if (showOutput) {
|
|
38
|
+
console.log(query);
|
|
39
|
+
}
|
|
40
|
+
return this.queryApi.collectRows(query);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.error(`${_logPrefix}#GetSTSCountGeneric: Error: [${error}]`.red);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
#GetSTSCountGenericAgentOld = async (filterClause, groupClause, showOutput = false) => {
|
|
19
47
|
try {
|
|
20
48
|
const query = `dostscountex = (q, d) =>
|
|
21
49
|
from(bucket: "${this.options.bucket}")
|
|
22
50
|
|> range(start: d)
|
|
23
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
51
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" ${filterClause})
|
|
24
52
|
|> filter(fn: (r) => r["_field"] == q)
|
|
25
53
|
|> last()
|
|
26
54
|
|> ${groupClause}
|
|
@@ -51,15 +79,31 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
51
79
|
}
|
|
52
80
|
};
|
|
53
81
|
// Histo metrics
|
|
54
|
-
#GetSTSHistoGenericService = async (
|
|
82
|
+
#GetSTSHistoGenericService = async (filterClause, groupClause) => {
|
|
83
|
+
try {
|
|
84
|
+
const query = `import "math"
|
|
85
|
+
from(bucket: "${this.options.bucket}")
|
|
86
|
+
|> range(start: -10m)
|
|
87
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] =="latency"
|
|
88
|
+
or r["_field"] =="duration") ${filterClause})
|
|
89
|
+
|> ${groupClause}
|
|
90
|
+
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
91
|
+
|> difference()`;
|
|
92
|
+
return this.queryApi.collectRows(query);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error(`${_logPrefix}#GetSTSHistoGeneric: Error: [${error}]`.red);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
#GetSTSHistoGenericServiceOld = async (filterClause, groupClause) => {
|
|
55
99
|
try {
|
|
56
100
|
const query = `import "math"
|
|
57
101
|
|
|
58
102
|
dostshistoex = (q, d) =>
|
|
59
103
|
from(bucket: "${this.options.bucket}")
|
|
60
104
|
|> range(start: d)
|
|
61
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
62
|
-
|> filter(fn: (r) => r["_field"] == q
|
|
105
|
+
|> filter(fn: (r) => r["_measurement"] == "agent")
|
|
106
|
+
|> filter(fn: (r) => r["_field"] == q ${filterClause})
|
|
63
107
|
|> ${groupClause}
|
|
64
108
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
65
109
|
|> difference()
|
|
@@ -78,13 +122,41 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
78
122
|
}
|
|
79
123
|
};
|
|
80
124
|
// Quantile metrics
|
|
81
|
-
#GetSTSQuantileGenericAgent = async (
|
|
125
|
+
#GetSTSQuantileGenericAgent = async (filterClause, groupClause) => {
|
|
126
|
+
try {
|
|
127
|
+
const query = `data = from(bucket: "${this.options.bucket}")
|
|
128
|
+
|> range(start: -10m)
|
|
129
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] == "latency"
|
|
130
|
+
or r["_field"] == "duration") ${filterClause})
|
|
131
|
+
|> ${groupClause}
|
|
132
|
+
|> aggregateWindow(every: 5s, fn: max, createEmpty: false)
|
|
133
|
+
|
|
134
|
+
dostsquantileex = (q) =>
|
|
135
|
+
data
|
|
136
|
+
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
137
|
+
|> set(key: "quantile", value: string(v:q))
|
|
138
|
+
|> group(columns: ["quantile"])
|
|
139
|
+
|
|
140
|
+
union(tables: [
|
|
141
|
+
dostsquantileex(q: 0.5),
|
|
142
|
+
dostsquantileex(q: 0.8),
|
|
143
|
+
dostsquantileex(q: 0.9),
|
|
144
|
+
dostsquantileex(q: 0.95),
|
|
145
|
+
dostsquantileex(q: 0.99)
|
|
146
|
+
])`;
|
|
147
|
+
return this.queryApi.collectRows(query);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.error(`${_logPrefix}#GetSTSQuantileGeneric: Error: [${error}]`.red);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
#GetSTSQuantileGenericAgentOld = async (filterClause, groupClause) => {
|
|
82
154
|
try {
|
|
83
155
|
const query = `dostsquantileex = (q, d, i, f) =>
|
|
84
156
|
from(bucket: "${this.options.bucket}")
|
|
85
157
|
|> range(start: d)
|
|
86
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
87
|
-
|> filter(fn: (r) => r["_field"] == f
|
|
158
|
+
|> filter(fn: (r) => r["_measurement"] == "agent")
|
|
159
|
+
|> filter(fn: (r) => r["_field"] == f ${filterClause})
|
|
88
160
|
|> ${groupClause}
|
|
89
161
|
|> aggregateWindow(every: i, fn: max, createEmpty: false)
|
|
90
162
|
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
@@ -116,9 +188,9 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
116
188
|
let retVal = null;
|
|
117
189
|
try {
|
|
118
190
|
retVal = await this.ProcessInfluxDBResults([
|
|
119
|
-
this.#GetSTSCountGenericAgent('
|
|
120
|
-
this.#GetSTSQuantileGenericAgent(
|
|
121
|
-
this.#GetSTSHistoGenericService('
|
|
191
|
+
this.#GetSTSCountGenericAgent('', 'group(columns: ["_field"])'),
|
|
192
|
+
this.#GetSTSQuantileGenericAgent('', 'group(columns: ["_field"])'),
|
|
193
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["_field"])')
|
|
122
194
|
], []);
|
|
123
195
|
}
|
|
124
196
|
catch (error) {
|
|
@@ -134,9 +206,9 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
134
206
|
let retVal = null;
|
|
135
207
|
try {
|
|
136
208
|
retVal = await this.ProcessInfluxDBResults([
|
|
137
|
-
this.#GetSTSCountGenericAgent('
|
|
138
|
-
this.#GetSTSQuantileGenericAgent(
|
|
139
|
-
this.#GetSTSHistoGenericService('
|
|
209
|
+
this.#GetSTSCountGenericAgent('', 'group(columns: ["agentName", "_field"])'),
|
|
210
|
+
this.#GetSTSQuantileGenericAgent('', 'group(columns: ["agentName", "_field"])'),
|
|
211
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["agentName", "_field"])')
|
|
140
212
|
], ['agentName']);
|
|
141
213
|
}
|
|
142
214
|
catch (error) {
|
|
@@ -153,9 +225,9 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
153
225
|
try {
|
|
154
226
|
const agentName = subscriptionKey.key;
|
|
155
227
|
retVal = await this.ProcessInfluxDBResults([
|
|
156
|
-
this.#GetSTSCountGenericAgent(
|
|
157
|
-
this.#GetSTSQuantileGenericAgent(`
|
|
158
|
-
this.#GetSTSHistoGenericService(
|
|
228
|
+
this.#GetSTSCountGenericAgent(`and r["agentName"] == "${agentName}"`, `group(columns: ["agentName", "threadId", "_field"])`),
|
|
229
|
+
this.#GetSTSQuantileGenericAgent(`and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])'),
|
|
230
|
+
this.#GetSTSHistoGenericService(`and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])')
|
|
159
231
|
], ['agentName', 'threadId']);
|
|
160
232
|
}
|
|
161
233
|
catch (error) {
|
|
@@ -173,9 +245,9 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
173
245
|
const agentName = subscriptionKey.key;
|
|
174
246
|
const threadId = subscriptionKey.subkey;
|
|
175
247
|
retVal = await this.ProcessInfluxDBResults([
|
|
176
|
-
this.#GetSTSCountGenericAgent(
|
|
177
|
-
this.#GetSTSQuantileGenericAgent(`
|
|
178
|
-
this.#GetSTSHistoGenericService(
|
|
248
|
+
this.#GetSTSCountGenericAgent(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, `group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])`),
|
|
249
|
+
this.#GetSTSQuantileGenericAgent(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])'),
|
|
250
|
+
this.#GetSTSHistoGenericService(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])')
|
|
179
251
|
], ['agentName', 'threadId', 'asyncRunnerId']);
|
|
180
252
|
}
|
|
181
253
|
catch (error) {
|
|
@@ -197,13 +269,13 @@ class InfluxDBManagerAgent extends influxDBManagerBase_1.InfluxDBManagerBase {
|
|
|
197
269
|
systemcpu = instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_SYSTEM_LOAD_GAUGE].val;
|
|
198
270
|
}
|
|
199
271
|
const point = new influxdb_client_1.Point('all')
|
|
272
|
+
.measurement('agent')
|
|
200
273
|
// Context settings
|
|
201
274
|
.tag('id', id) // Must be unique (uuid)
|
|
202
275
|
.tag('hostName', hostName) // Must be unique (uuid)
|
|
203
276
|
.tag('agentName', agentName) // Must be unique (uuid)
|
|
204
277
|
.tag('threadId', threadId) // Must be unique (uuid)
|
|
205
278
|
.tag('asyncRunnerId', asyncRunnerId)
|
|
206
|
-
.tag('modelType', 'agent')
|
|
207
279
|
// Data fields
|
|
208
280
|
.intField('requestCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.REQUEST_COUNT_GAUGE].val) // q
|
|
209
281
|
.intField('errorCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.ERROR_COUNT_GAUGE].val) // j
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerAgent.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerAgent.ts"],"names":[],"mappings":";;;AAAA,wFAAwF,CAAE,UAAU;AACpG,iEAAuE;AAEvE,oEAAuE;AAEvE,+DAA2D;AAK3D,MAAM,UAAU,GAAG,yBAAyB,CAAA;AAE5C,MAAa,oBAAqB,SAAQ,yCAAmB;IAEzD,YAAY,OAAgC,EAAE,QAAkB,EAAE,WAAqB;QACnF,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,IAAa,SAAS;QAClB,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,mHAAmH;IAEnH,kBAAkB;IAClB,wBAAwB,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"influxDBManagerAgent.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerBase.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"influxDBManagerBase.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InfluxDBManagerService = void 0;
|
|
4
4
|
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
5
|
+
// https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/
|
|
6
|
+
// https://www.influxdata.com/blog/top-5-hurdles-for-intermediate-flux-users-and-resources-for-optimizing-flux/
|
|
5
7
|
const influxdb_client_1 = require("@influxdata/influxdb-client");
|
|
6
8
|
const stsinstrumentation_1 = require("@nsshunt/stsinstrumentation");
|
|
7
9
|
const influxDBManagerBase_1 = require("./influxDBManagerBase");
|
|
@@ -32,8 +34,34 @@ data
|
|
|
32
34
|
#GetSTSCountGenericService = async (filterClause, groupClause, showOutput = false) => {
|
|
33
35
|
try {
|
|
34
36
|
const query = `data = from(bucket: "${this.options.bucket}")
|
|
35
|
-
|> range(start: -
|
|
36
|
-
|>
|
|
37
|
+
|> range(start: -2s)
|
|
38
|
+
|> last()
|
|
39
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
40
|
+
|
|
41
|
+
r1 = data
|
|
42
|
+
|> filter(fn: (r) => r["_field"] != "memory")
|
|
43
|
+
|> ${groupClause}
|
|
44
|
+
|> sum()
|
|
45
|
+
|
|
46
|
+
r2 = data
|
|
47
|
+
|> filter(fn: (r) => r["_field"] == "memory")
|
|
48
|
+
|
|
49
|
+
union(tables: [r1, r2])`;
|
|
50
|
+
if (showOutput) {
|
|
51
|
+
console.log(query);
|
|
52
|
+
}
|
|
53
|
+
return this.queryApi.collectRows(query);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error(`${_logPrefix}#GetSTSCountGeneric: Error: [${error}]`.red);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
#GetSTSCountGenericServiceOldV2 = async (filterClause, groupClause, showOutput = false) => {
|
|
60
|
+
try {
|
|
61
|
+
const query = `data = from(bucket: "${this.options.bucket}")
|
|
62
|
+
|> range(start: -2s)
|
|
63
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
64
|
+
|> last()
|
|
37
65
|
|
|
38
66
|
r1 = data
|
|
39
67
|
|> filter(fn: (r) => r["_field"] == "requestCount"
|
|
@@ -52,13 +80,11 @@ data
|
|
|
52
80
|
or r["_field"] == "timer"
|
|
53
81
|
or r["_field"] == "duration"
|
|
54
82
|
or r["_field"] == "latency")
|
|
55
|
-
|> last()
|
|
56
83
|
|> ${groupClause}
|
|
57
84
|
|> sum()
|
|
58
85
|
|
|
59
86
|
r2 = data
|
|
60
87
|
|> filter(fn: (r) => r["_field"] == "memory")
|
|
61
|
-
|> last()
|
|
62
88
|
|
|
63
89
|
union(tables: [r1, r2])`;
|
|
64
90
|
if (showOutput) {
|
|
@@ -76,7 +102,7 @@ data
|
|
|
76
102
|
const query = `dostscountex = (q, d) =>
|
|
77
103
|
from(bucket: "${this.options.bucket}")
|
|
78
104
|
|> range(start: d)
|
|
79
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
105
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
80
106
|
|> filter(fn: (r) => r["_field"] == q)
|
|
81
107
|
|> last()
|
|
82
108
|
|> ${groupClause}
|
|
@@ -85,7 +111,7 @@ data
|
|
|
85
111
|
dogetmemory = () =>
|
|
86
112
|
from(bucket: "${this.options.bucket}")
|
|
87
113
|
|> range(start: -5s)
|
|
88
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
114
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
89
115
|
|> filter(fn: (r) => r["_field"] == "memory")
|
|
90
116
|
|> last()
|
|
91
117
|
|
|
@@ -120,12 +146,12 @@ data
|
|
|
120
146
|
}
|
|
121
147
|
};
|
|
122
148
|
// Histo metrics
|
|
123
|
-
#GetSTSHistoGenericService = async (
|
|
149
|
+
#GetSTSHistoGenericService = async (filterClause, groupClause) => {
|
|
124
150
|
try {
|
|
125
151
|
const query = `import "math"
|
|
126
152
|
from(bucket: "TestBucket01")
|
|
127
153
|
|> range(start: -10m)
|
|
128
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
154
|
+
|> filter(fn: (r) => r["_measurement"] == "service" and (r["_field"] =="latency" or
|
|
129
155
|
r["_field"] =="duration") ${filterClause})
|
|
130
156
|
|> ${groupClause}
|
|
131
157
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
@@ -136,15 +162,15 @@ data
|
|
|
136
162
|
console.error(`${_logPrefix}#GetSTSHistoGeneric: Error: [${error}]`.red);
|
|
137
163
|
}
|
|
138
164
|
};
|
|
139
|
-
#GetSTSHistoGenericServiceOld = async (
|
|
165
|
+
#GetSTSHistoGenericServiceOld = async (filterClause, groupClause) => {
|
|
140
166
|
try {
|
|
141
167
|
const query = `import "math"
|
|
142
168
|
|
|
143
169
|
dostshistoex = (q, d) =>
|
|
144
170
|
from(bucket: "${this.options.bucket}")
|
|
145
171
|
|> range(start: d)
|
|
146
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
147
|
-
|> filter(fn: (r) => r["_field"] == q
|
|
172
|
+
|> filter(fn: (r) => r["_measurement"] == "service")
|
|
173
|
+
|> filter(fn: (r) => r["_field"] == q ${filterClause})
|
|
148
174
|
|> ${groupClause}
|
|
149
175
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
150
176
|
|> difference()
|
|
@@ -163,11 +189,11 @@ data
|
|
|
163
189
|
}
|
|
164
190
|
};
|
|
165
191
|
// Quantile metrics
|
|
166
|
-
#GetSTSQuantileGenericService = async (
|
|
192
|
+
#GetSTSQuantileGenericService = async (filterClause, groupClause) => {
|
|
167
193
|
try {
|
|
168
194
|
const query = `data = from(bucket: "${this.options.bucket}")
|
|
169
195
|
|> range(start: -10m)
|
|
170
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
196
|
+
|> filter(fn: (r) => r["_measurement"] == "service" and (r["_field"] == "latency" or
|
|
171
197
|
r["_field"] == "duration" or
|
|
172
198
|
r["_field"] == "cpu" or
|
|
173
199
|
r["_field"] == "systemcpu") ${filterClause})
|
|
@@ -193,13 +219,13 @@ data
|
|
|
193
219
|
console.error(`${_logPrefix}#GetSTSQuantileGeneric: Error: [${error}]`.red);
|
|
194
220
|
}
|
|
195
221
|
};
|
|
196
|
-
#GetSTSQuantileGenericServiceOld = async (
|
|
222
|
+
#GetSTSQuantileGenericServiceOld = async (filterClause, groupClause) => {
|
|
197
223
|
try {
|
|
198
224
|
const query = `dostsquantileex = (q, d, i, f) =>
|
|
199
225
|
from(bucket: "${this.options.bucket}")
|
|
200
226
|
|> range(start: d)
|
|
201
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
202
|
-
|> filter(fn: (r) => r["_field"] == f
|
|
227
|
+
|> filter(fn: (r) => r["_measurement"] == "service")
|
|
228
|
+
|> filter(fn: (r) => r["_field"] == f ${filterClause})
|
|
203
229
|
|> ${groupClause}
|
|
204
230
|
|> aggregateWindow(every: i, fn: max, createEmpty: false)
|
|
205
231
|
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
@@ -234,8 +260,8 @@ data
|
|
|
234
260
|
try {
|
|
235
261
|
retVal = await this.ProcessInfluxDBResults([
|
|
236
262
|
this.#GetSTSCountGenericService('', 'group(columns: ["_field"])'),
|
|
237
|
-
this.#GetSTSQuantileGenericService(
|
|
238
|
-
this.#GetSTSHistoGenericService('
|
|
263
|
+
this.#GetSTSQuantileGenericService('', 'group(columns: ["_field"])'),
|
|
264
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["_field"])')
|
|
239
265
|
], []);
|
|
240
266
|
}
|
|
241
267
|
catch (error) {
|
|
@@ -252,8 +278,8 @@ data
|
|
|
252
278
|
try {
|
|
253
279
|
retVal = await this.ProcessInfluxDBResults([
|
|
254
280
|
this.#GetSTSCountGenericService('', 'group(columns: ["serviceId", "_field"])'),
|
|
255
|
-
this.#GetSTSQuantileGenericService(
|
|
256
|
-
this.#GetSTSHistoGenericService('
|
|
281
|
+
this.#GetSTSQuantileGenericService('', 'group(columns: ["serviceId", "_field"])'),
|
|
282
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["serviceId", "_field"])')
|
|
257
283
|
], ['serviceId']);
|
|
258
284
|
}
|
|
259
285
|
catch (error) {
|
|
@@ -271,8 +297,8 @@ data
|
|
|
271
297
|
const serviceId = subscriptionKey.key;
|
|
272
298
|
retVal = await this.ProcessInfluxDBResults([
|
|
273
299
|
this.#GetSTSCountGenericService(`and r["serviceId"] == "${serviceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "_field"])`),
|
|
274
|
-
this.#GetSTSQuantileGenericService(`
|
|
275
|
-
this.#GetSTSHistoGenericService(
|
|
300
|
+
this.#GetSTSQuantileGenericService(`and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
|
|
301
|
+
this.#GetSTSHistoGenericService(`and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')
|
|
276
302
|
], ['serviceId', 'serviceInstanceId']);
|
|
277
303
|
}
|
|
278
304
|
catch (error) {
|
|
@@ -290,8 +316,8 @@ data
|
|
|
290
316
|
const serviceInstanceId = subscriptionKey.key;
|
|
291
317
|
retVal = await this.ProcessInfluxDBResults([
|
|
292
318
|
this.#GetSTSCountGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])`),
|
|
293
|
-
this.#GetSTSQuantileGenericService(`
|
|
294
|
-
this.#GetSTSHistoGenericService(
|
|
319
|
+
this.#GetSTSQuantileGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
|
|
320
|
+
this.#GetSTSHistoGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')
|
|
295
321
|
], ['serviceId', 'serviceInstanceId', 'serviceInstanceProcessId']);
|
|
296
322
|
}
|
|
297
323
|
catch (error) {
|
|
@@ -310,12 +336,13 @@ data
|
|
|
310
336
|
if (this.shuttingDown) {
|
|
311
337
|
return false;
|
|
312
338
|
}
|
|
313
|
-
const { serviceId, serviceInstanceId, hostName, serviceInstanceProcessId, pid, ppid,
|
|
339
|
+
const { serviceId, serviceInstanceId, hostName, serviceInstanceProcessId, pid, ppid, serviceName, serviceVersion } = instrumentPayload.context;
|
|
314
340
|
let systemcpu = 0.0;
|
|
315
341
|
if (instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_SYSTEM_LOAD_GAUGE]) {
|
|
316
342
|
systemcpu = instrumentPayload.instruments[stsinstrumentation_1.Gauge.CPU_SYSTEM_LOAD_GAUGE].val;
|
|
317
343
|
}
|
|
318
344
|
const point = new influxdb_client_1.Point('all')
|
|
345
|
+
.measurement('service')
|
|
319
346
|
// Context settings
|
|
320
347
|
.tag('serviceId', serviceId)
|
|
321
348
|
.tag('serviceName', serviceName)
|
|
@@ -325,9 +352,6 @@ data
|
|
|
325
352
|
.tag('hostName', hostName)
|
|
326
353
|
.tag('pid', pid.toString())
|
|
327
354
|
.tag('ppid', ppid.toString())
|
|
328
|
-
.tag('isMaster', isMaster.toString())
|
|
329
|
-
.tag('isWorker', isWorker.toString())
|
|
330
|
-
.tag('modelType', 'service')
|
|
331
355
|
// Data fields
|
|
332
356
|
.intField('requestCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.REQUEST_COUNT_GAUGE].val)
|
|
333
357
|
.intField('errorCount', instrumentPayload.instruments[stsinstrumentation_1.Gauge.ERROR_COUNT_GAUGE].val)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerService.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":";;;AAAA,wFAAwF,CAAE,UAAU;AACpG,iEAAuE;AAEvE,oEAAuE;AAEvE,+DAA2D;AAK3D,MAAM,UAAU,GAAG,yBAAyB,CAAA;AAE5C,MAAa,sBAAuB,SAAQ,yCAAmB;IAE3D,YAAY,OAAgC,EAAE,QAAkB,EAAE,WAAqB;QACnF,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,IAAa,SAAS;QAClB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,mHAAmH;IAEnH;;;;;;;;;;;;;;EAcF;IAEE,0BAA0B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,aAAsB,KAAK,EAAgB,EAAE;QACxH,IAAI;YACA,MAAM,KAAK,GAAG,wBAAwB,IAAI,CAAC,OAAO,CAAC,MAAM;;
|
|
1
|
+
{"version":3,"file":"influxDBManagerService.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
+
// https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/
|
|
3
|
+
// https://www.influxdata.com/blog/top-5-hurdles-for-intermediate-flux-users-and-resources-for-optimizing-flux/
|
|
2
4
|
import { Point, WriteApi, QueryApi } from '@influxdata/influxdb-client'
|
|
3
5
|
|
|
4
6
|
import { Gauge, InstrumentVelocity } from '@nsshunt/stsinstrumentation'
|
|
@@ -23,12 +25,40 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
23
25
|
// Queries --------------------------------------------------------------------------------------------------------
|
|
24
26
|
|
|
25
27
|
// Counter metrics
|
|
26
|
-
#GetSTSCountGenericAgent = async (
|
|
28
|
+
#GetSTSCountGenericAgent = async (filterClause: string, groupClause: string, showOutput: boolean = false) => {
|
|
29
|
+
try {
|
|
30
|
+
const query = `from(bucket: "${this.options.bucket}")
|
|
31
|
+
|> range(start: -2s)
|
|
32
|
+
|> last()
|
|
33
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] == "errorCount"
|
|
34
|
+
or r["_field"] == "retryCount"
|
|
35
|
+
or r["_field"] == "authenticationCount"
|
|
36
|
+
or r["_field"] == "velocity"
|
|
37
|
+
or r["_field"] == "coreCount"
|
|
38
|
+
or r["_field"] == "timer"
|
|
39
|
+
or r["_field"] == "duration"
|
|
40
|
+
or r["_field"] == "latency"
|
|
41
|
+
or r["_field"] == "activeRequestCount"
|
|
42
|
+
or r["_field"] == "childCount") ${filterClause})
|
|
43
|
+
|> ${groupClause}
|
|
44
|
+
|> sum()`;
|
|
45
|
+
|
|
46
|
+
if (showOutput) {
|
|
47
|
+
console.log(query);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return this.queryApi.collectRows(query)
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.error(`${_logPrefix}#GetSTSCountGeneric: Error: [${error}]`.red);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#GetSTSCountGenericAgentOld = async (filterClause: string, groupClause: string, showOutput: boolean = false) => {
|
|
27
57
|
try {
|
|
28
58
|
const query = `dostscountex = (q, d) =>
|
|
29
59
|
from(bucket: "${this.options.bucket}")
|
|
30
60
|
|> range(start: d)
|
|
31
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
61
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" ${filterClause})
|
|
32
62
|
|> filter(fn: (r) => r["_field"] == q)
|
|
33
63
|
|> last()
|
|
34
64
|
|> ${groupClause}
|
|
@@ -61,15 +91,31 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
61
91
|
}
|
|
62
92
|
|
|
63
93
|
// Histo metrics
|
|
64
|
-
#GetSTSHistoGenericService = async (
|
|
94
|
+
#GetSTSHistoGenericService = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
95
|
+
try {
|
|
96
|
+
const query = `import "math"
|
|
97
|
+
from(bucket: "${this.options.bucket}")
|
|
98
|
+
|> range(start: -10m)
|
|
99
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] =="latency"
|
|
100
|
+
or r["_field"] =="duration") ${filterClause})
|
|
101
|
+
|> ${groupClause}
|
|
102
|
+
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
103
|
+
|> difference()`;
|
|
104
|
+
return this.queryApi.collectRows(query)
|
|
105
|
+
} catch (error) {
|
|
106
|
+
console.error(`${_logPrefix}#GetSTSHistoGeneric: Error: [${error}]`.red);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#GetSTSHistoGenericServiceOld = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
65
111
|
try {
|
|
66
112
|
const query = `import "math"
|
|
67
113
|
|
|
68
114
|
dostshistoex = (q, d) =>
|
|
69
115
|
from(bucket: "${this.options.bucket}")
|
|
70
116
|
|> range(start: d)
|
|
71
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
72
|
-
|> filter(fn: (r) => r["_field"] == q
|
|
117
|
+
|> filter(fn: (r) => r["_measurement"] == "agent")
|
|
118
|
+
|> filter(fn: (r) => r["_field"] == q ${filterClause})
|
|
73
119
|
|> ${groupClause}
|
|
74
120
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
75
121
|
|> difference()
|
|
@@ -88,13 +134,42 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
88
134
|
}
|
|
89
135
|
|
|
90
136
|
// Quantile metrics
|
|
91
|
-
#GetSTSQuantileGenericAgent = async (
|
|
137
|
+
#GetSTSQuantileGenericAgent = async (filterClause: string, groupClause: string) => {
|
|
138
|
+
try {
|
|
139
|
+
const query = `data = from(bucket: "${this.options.bucket}")
|
|
140
|
+
|> range(start: -10m)
|
|
141
|
+
|> filter(fn: (r) => r["_measurement"] == "agent" and (r["_field"] == "latency"
|
|
142
|
+
or r["_field"] == "duration") ${filterClause})
|
|
143
|
+
|> ${groupClause}
|
|
144
|
+
|> aggregateWindow(every: 5s, fn: max, createEmpty: false)
|
|
145
|
+
|
|
146
|
+
dostsquantileex = (q) =>
|
|
147
|
+
data
|
|
148
|
+
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
149
|
+
|> set(key: "quantile", value: string(v:q))
|
|
150
|
+
|> group(columns: ["quantile"])
|
|
151
|
+
|
|
152
|
+
union(tables: [
|
|
153
|
+
dostsquantileex(q: 0.5),
|
|
154
|
+
dostsquantileex(q: 0.8),
|
|
155
|
+
dostsquantileex(q: 0.9),
|
|
156
|
+
dostsquantileex(q: 0.95),
|
|
157
|
+
dostsquantileex(q: 0.99)
|
|
158
|
+
])`;
|
|
159
|
+
|
|
160
|
+
return this.queryApi.collectRows(query)
|
|
161
|
+
} catch (error) {
|
|
162
|
+
console.error(`${_logPrefix}#GetSTSQuantileGeneric: Error: [${error}]`.red);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
#GetSTSQuantileGenericAgentOld = async (filterClause: string, groupClause: string) => {
|
|
92
167
|
try {
|
|
93
168
|
const query = `dostsquantileex = (q, d, i, f) =>
|
|
94
169
|
from(bucket: "${this.options.bucket}")
|
|
95
170
|
|> range(start: d)
|
|
96
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
97
|
-
|> filter(fn: (r) => r["_field"] == f
|
|
171
|
+
|> filter(fn: (r) => r["_measurement"] == "agent")
|
|
172
|
+
|> filter(fn: (r) => r["_field"] == f ${filterClause})
|
|
98
173
|
|> ${groupClause}
|
|
99
174
|
|> aggregateWindow(every: i, fn: max, createEmpty: false)
|
|
100
175
|
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
@@ -120,16 +195,16 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
120
195
|
console.error(`${_logPrefix}#GetSTSQuantileGeneric: Error: [${error}]`.red);
|
|
121
196
|
}
|
|
122
197
|
}
|
|
123
|
-
|
|
198
|
+
|
|
124
199
|
// Metric queries -------------------------------------------------------------------------------------------------
|
|
125
200
|
// Root level metrics
|
|
126
201
|
async GetInfluxDBResultsRootAgent(subscriptionKey: ISubscriptionKey): Promise<ISubscriptionPayload> { // ISubscriptionPayload
|
|
127
202
|
let retVal = null;
|
|
128
203
|
try {
|
|
129
204
|
retVal = await this.ProcessInfluxDBResults([
|
|
130
|
-
this.#GetSTSCountGenericAgent('
|
|
131
|
-
this.#GetSTSQuantileGenericAgent(
|
|
132
|
-
this.#GetSTSHistoGenericService('
|
|
205
|
+
this.#GetSTSCountGenericAgent('', 'group(columns: ["_field"])'),
|
|
206
|
+
this.#GetSTSQuantileGenericAgent('', 'group(columns: ["_field"])'),
|
|
207
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["_field"])')],
|
|
133
208
|
[ ])
|
|
134
209
|
} catch (error) {
|
|
135
210
|
console.error(`${_logPrefix}GetInfluxDBResultsRootAgent: Error: [${error}]`.red);
|
|
@@ -145,9 +220,9 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
145
220
|
let retVal = null;
|
|
146
221
|
try {
|
|
147
222
|
retVal = await this.ProcessInfluxDBResults([
|
|
148
|
-
this.#GetSTSCountGenericAgent('
|
|
149
|
-
this.#GetSTSQuantileGenericAgent(
|
|
150
|
-
this.#GetSTSHistoGenericService('
|
|
223
|
+
this.#GetSTSCountGenericAgent('', 'group(columns: ["agentName", "_field"])'),
|
|
224
|
+
this.#GetSTSQuantileGenericAgent('', 'group(columns: ["agentName", "_field"])'),
|
|
225
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["agentName", "_field"])')],
|
|
151
226
|
['agentName'])
|
|
152
227
|
} catch (error) {
|
|
153
228
|
console.error(`${_logPrefix}GetInfluxDBResultsAgent: Error: [${error}]`.red);
|
|
@@ -164,9 +239,9 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
164
239
|
try {
|
|
165
240
|
const agentName = subscriptionKey.key as string;
|
|
166
241
|
retVal = await this.ProcessInfluxDBResults([
|
|
167
|
-
this.#GetSTSCountGenericAgent(
|
|
168
|
-
this.#GetSTSQuantileGenericAgent(`
|
|
169
|
-
this.#GetSTSHistoGenericService(
|
|
242
|
+
this.#GetSTSCountGenericAgent(`and r["agentName"] == "${agentName}"`, `group(columns: ["agentName", "threadId", "_field"])`),
|
|
243
|
+
this.#GetSTSQuantileGenericAgent(`and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])'),
|
|
244
|
+
this.#GetSTSHistoGenericService(`and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])')],
|
|
170
245
|
['agentName', 'threadId'])
|
|
171
246
|
} catch (error) {
|
|
172
247
|
console.error(`${_logPrefix}GetInfluxDBResultsAgentThreads: Error: [${error}]`.red);
|
|
@@ -184,9 +259,9 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
184
259
|
const agentName = subscriptionKey.key as string;
|
|
185
260
|
const threadId = subscriptionKey.subkey as string;
|
|
186
261
|
retVal = await this.ProcessInfluxDBResults([
|
|
187
|
-
this.#GetSTSCountGenericAgent(
|
|
188
|
-
this.#GetSTSQuantileGenericAgent(`
|
|
189
|
-
this.#GetSTSHistoGenericService(
|
|
262
|
+
this.#GetSTSCountGenericAgent(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, `group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])`),
|
|
263
|
+
this.#GetSTSQuantileGenericAgent(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])'),
|
|
264
|
+
this.#GetSTSHistoGenericService(`and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])')],
|
|
190
265
|
['agentName', 'threadId', 'asyncRunnerId'])
|
|
191
266
|
} catch (error) {
|
|
192
267
|
console.error(`${_logPrefix}GetInfluxDBResultsAgentThread: Error: [${error}]`.red);
|
|
@@ -210,13 +285,13 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
|
|
|
210
285
|
}
|
|
211
286
|
|
|
212
287
|
const point = new Point('all')
|
|
288
|
+
.measurement('agent')
|
|
213
289
|
// Context settings
|
|
214
290
|
.tag('id', id as string) // Must be unique (uuid)
|
|
215
291
|
.tag('hostName', hostName as string) // Must be unique (uuid)
|
|
216
292
|
.tag('agentName', agentName as string) // Must be unique (uuid)
|
|
217
293
|
.tag('threadId', threadId as string) // Must be unique (uuid)
|
|
218
294
|
.tag('asyncRunnerId', asyncRunnerId as string)
|
|
219
|
-
.tag('modelType', 'agent')
|
|
220
295
|
// Data fields
|
|
221
296
|
.intField('requestCount', instrumentPayload.instruments[Gauge.REQUEST_COUNT_GAUGE].val) // q
|
|
222
297
|
.intField('errorCount', instrumentPayload.instruments[Gauge.ERROR_COUNT_GAUGE].val) // j
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
+
// https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/
|
|
3
|
+
// https://www.influxdata.com/blog/top-5-hurdles-for-intermediate-flux-users-and-resources-for-optimizing-flux/
|
|
2
4
|
import { WriteApi, QueryApi } from '@influxdata/influxdb-client'
|
|
3
5
|
|
|
4
6
|
import { IInfluxDBManagerOptions, InstrumentPayload } from './../commonTypes'
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
2
|
+
// https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/
|
|
3
|
+
// https://www.influxdata.com/blog/top-5-hurdles-for-intermediate-flux-users-and-resources-for-optimizing-flux/
|
|
2
4
|
import { Point, WriteApi, QueryApi } from '@influxdata/influxdb-client'
|
|
3
5
|
|
|
4
6
|
import { Gauge, InstrumentVelocity } from '@nsshunt/stsinstrumentation'
|
|
@@ -41,8 +43,36 @@ data
|
|
|
41
43
|
#GetSTSCountGenericService = async (filterClause: string, groupClause: string, showOutput: boolean = false): Promise<any> => {
|
|
42
44
|
try {
|
|
43
45
|
const query = `data = from(bucket: "${this.options.bucket}")
|
|
44
|
-
|> range(start: -
|
|
45
|
-
|>
|
|
46
|
+
|> range(start: -2s)
|
|
47
|
+
|> last()
|
|
48
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
49
|
+
|
|
50
|
+
r1 = data
|
|
51
|
+
|> filter(fn: (r) => r["_field"] != "memory")
|
|
52
|
+
|> ${groupClause}
|
|
53
|
+
|> sum()
|
|
54
|
+
|
|
55
|
+
r2 = data
|
|
56
|
+
|> filter(fn: (r) => r["_field"] == "memory")
|
|
57
|
+
|
|
58
|
+
union(tables: [r1, r2])`;
|
|
59
|
+
|
|
60
|
+
if (showOutput) {
|
|
61
|
+
console.log(query);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return this.queryApi.collectRows(query)
|
|
65
|
+
} catch (error) {
|
|
66
|
+
console.error(`${_logPrefix}#GetSTSCountGeneric: Error: [${error}]`.red);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#GetSTSCountGenericServiceOldV2 = async (filterClause: string, groupClause: string, showOutput: boolean = false): Promise<any> => {
|
|
71
|
+
try {
|
|
72
|
+
const query = `data = from(bucket: "${this.options.bucket}")
|
|
73
|
+
|> range(start: -2s)
|
|
74
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
75
|
+
|> last()
|
|
46
76
|
|
|
47
77
|
r1 = data
|
|
48
78
|
|> filter(fn: (r) => r["_field"] == "requestCount"
|
|
@@ -61,13 +91,11 @@ data
|
|
|
61
91
|
or r["_field"] == "timer"
|
|
62
92
|
or r["_field"] == "duration"
|
|
63
93
|
or r["_field"] == "latency")
|
|
64
|
-
|> last()
|
|
65
94
|
|> ${groupClause}
|
|
66
95
|
|> sum()
|
|
67
96
|
|
|
68
97
|
r2 = data
|
|
69
98
|
|> filter(fn: (r) => r["_field"] == "memory")
|
|
70
|
-
|> last()
|
|
71
99
|
|
|
72
100
|
union(tables: [r1, r2])`;
|
|
73
101
|
|
|
@@ -87,7 +115,7 @@ data
|
|
|
87
115
|
const query = `dostscountex = (q, d) =>
|
|
88
116
|
from(bucket: "${this.options.bucket}")
|
|
89
117
|
|> range(start: d)
|
|
90
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
118
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
91
119
|
|> filter(fn: (r) => r["_field"] == q)
|
|
92
120
|
|> last()
|
|
93
121
|
|> ${groupClause}
|
|
@@ -96,7 +124,7 @@ data
|
|
|
96
124
|
dogetmemory = () =>
|
|
97
125
|
from(bucket: "${this.options.bucket}")
|
|
98
126
|
|> range(start: -5s)
|
|
99
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
127
|
+
|> filter(fn: (r) => r["_measurement"] == "service" ${filterClause})
|
|
100
128
|
|> filter(fn: (r) => r["_field"] == "memory")
|
|
101
129
|
|> last()
|
|
102
130
|
|
|
@@ -133,12 +161,12 @@ data
|
|
|
133
161
|
}
|
|
134
162
|
|
|
135
163
|
// Histo metrics
|
|
136
|
-
#GetSTSHistoGenericService = async (
|
|
164
|
+
#GetSTSHistoGenericService = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
137
165
|
try {
|
|
138
166
|
const query = `import "math"
|
|
139
167
|
from(bucket: "TestBucket01")
|
|
140
168
|
|> range(start: -10m)
|
|
141
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
169
|
+
|> filter(fn: (r) => r["_measurement"] == "service" and (r["_field"] =="latency" or
|
|
142
170
|
r["_field"] =="duration") ${filterClause})
|
|
143
171
|
|> ${groupClause}
|
|
144
172
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
@@ -149,15 +177,15 @@ data
|
|
|
149
177
|
}
|
|
150
178
|
}
|
|
151
179
|
|
|
152
|
-
#GetSTSHistoGenericServiceOld = async (
|
|
180
|
+
#GetSTSHistoGenericServiceOld = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
153
181
|
try {
|
|
154
182
|
const query = `import "math"
|
|
155
183
|
|
|
156
184
|
dostshistoex = (q, d) =>
|
|
157
185
|
from(bucket: "${this.options.bucket}")
|
|
158
186
|
|> range(start: d)
|
|
159
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
160
|
-
|> filter(fn: (r) => r["_field"] == q
|
|
187
|
+
|> filter(fn: (r) => r["_measurement"] == "service")
|
|
188
|
+
|> filter(fn: (r) => r["_field"] == q ${filterClause})
|
|
161
189
|
|> ${groupClause}
|
|
162
190
|
|> histogram(bins: [0.0, 10.0, 20.0, 50.0, 100.0, 1000.0, 50000.0, math.mInf(sign: 1) ])
|
|
163
191
|
|> difference()
|
|
@@ -177,11 +205,11 @@ data
|
|
|
177
205
|
|
|
178
206
|
|
|
179
207
|
// Quantile metrics
|
|
180
|
-
#GetSTSQuantileGenericService = async (
|
|
208
|
+
#GetSTSQuantileGenericService = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
181
209
|
try {
|
|
182
210
|
const query = `data = from(bucket: "${this.options.bucket}")
|
|
183
211
|
|> range(start: -10m)
|
|
184
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
212
|
+
|> filter(fn: (r) => r["_measurement"] == "service" and (r["_field"] == "latency" or
|
|
185
213
|
r["_field"] == "duration" or
|
|
186
214
|
r["_field"] == "cpu" or
|
|
187
215
|
r["_field"] == "systemcpu") ${filterClause})
|
|
@@ -208,13 +236,13 @@ data
|
|
|
208
236
|
}
|
|
209
237
|
}
|
|
210
238
|
|
|
211
|
-
#GetSTSQuantileGenericServiceOld = async (
|
|
239
|
+
#GetSTSQuantileGenericServiceOld = async (filterClause: string, groupClause: string): Promise<any> => {
|
|
212
240
|
try {
|
|
213
241
|
const query = `dostsquantileex = (q, d, i, f) =>
|
|
214
242
|
from(bucket: "${this.options.bucket}")
|
|
215
243
|
|> range(start: d)
|
|
216
|
-
|> filter(fn: (r) => r["_measurement"] == "
|
|
217
|
-
|> filter(fn: (r) => r["_field"] == f
|
|
244
|
+
|> filter(fn: (r) => r["_measurement"] == "service")
|
|
245
|
+
|> filter(fn: (r) => r["_field"] == f ${filterClause})
|
|
218
246
|
|> ${groupClause}
|
|
219
247
|
|> aggregateWindow(every: i, fn: max, createEmpty: false)
|
|
220
248
|
|> quantile(q: q, method: "estimate_tdigest", compression: 1000.0)
|
|
@@ -250,8 +278,8 @@ data
|
|
|
250
278
|
try {
|
|
251
279
|
retVal = await this.ProcessInfluxDBResults([
|
|
252
280
|
this.#GetSTSCountGenericService('', 'group(columns: ["_field"])'),
|
|
253
|
-
this.#GetSTSQuantileGenericService(
|
|
254
|
-
this.#GetSTSHistoGenericService('
|
|
281
|
+
this.#GetSTSQuantileGenericService('', 'group(columns: ["_field"])'),
|
|
282
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["_field"])')],
|
|
255
283
|
[ ])
|
|
256
284
|
} catch (error) {
|
|
257
285
|
console.error(`${_logPrefix}GetInfluxDBResultsRoot: Error: [${error}]`.red);
|
|
@@ -268,8 +296,8 @@ data
|
|
|
268
296
|
try {
|
|
269
297
|
retVal = await this.ProcessInfluxDBResults([
|
|
270
298
|
this.#GetSTSCountGenericService('', 'group(columns: ["serviceId", "_field"])'),
|
|
271
|
-
this.#GetSTSQuantileGenericService(
|
|
272
|
-
this.#GetSTSHistoGenericService('
|
|
299
|
+
this.#GetSTSQuantileGenericService('', 'group(columns: ["serviceId", "_field"])'),
|
|
300
|
+
this.#GetSTSHistoGenericService('', 'group(columns: ["serviceId", "_field"])')],
|
|
273
301
|
['serviceId'])
|
|
274
302
|
} catch (error) {
|
|
275
303
|
console.error(`${_logPrefix}GetInfluxDBResultsService: Error: [${error}]`.red);
|
|
@@ -288,8 +316,8 @@ data
|
|
|
288
316
|
const serviceId = subscriptionKey.key as string;
|
|
289
317
|
retVal = await this.ProcessInfluxDBResults([
|
|
290
318
|
this.#GetSTSCountGenericService(`and r["serviceId"] == "${serviceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "_field"])`),
|
|
291
|
-
this.#GetSTSQuantileGenericService(`
|
|
292
|
-
this.#GetSTSHistoGenericService(
|
|
319
|
+
this.#GetSTSQuantileGenericService(`and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
|
|
320
|
+
this.#GetSTSHistoGenericService(`and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')],
|
|
293
321
|
['serviceId', 'serviceInstanceId'])
|
|
294
322
|
} catch (error) {
|
|
295
323
|
console.error(`${_logPrefix}GetInfluxDBResultsServiceInstances: Error: [${error}]`.red);
|
|
@@ -307,8 +335,8 @@ data
|
|
|
307
335
|
const serviceInstanceId = subscriptionKey.key as string;
|
|
308
336
|
retVal = await this.ProcessInfluxDBResults([
|
|
309
337
|
this.#GetSTSCountGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])`),
|
|
310
|
-
this.#GetSTSQuantileGenericService(`
|
|
311
|
-
this.#GetSTSHistoGenericService(
|
|
338
|
+
this.#GetSTSQuantileGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
|
|
339
|
+
this.#GetSTSHistoGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')],
|
|
312
340
|
['serviceId', 'serviceInstanceId', 'serviceInstanceProcessId'])
|
|
313
341
|
} catch (error) {
|
|
314
342
|
console.error(`${_logPrefix}GetInfluxDBResultsServiceInstance: Error: [${error}]`.red);
|
|
@@ -329,7 +357,7 @@ data
|
|
|
329
357
|
}
|
|
330
358
|
|
|
331
359
|
const { serviceId, serviceInstanceId, hostName, serviceInstanceProcessId,
|
|
332
|
-
pid, ppid,
|
|
360
|
+
pid, ppid, serviceName, serviceVersion } = instrumentPayload.context;
|
|
333
361
|
|
|
334
362
|
let systemcpu = 0.0;
|
|
335
363
|
if (instrumentPayload.instruments[Gauge.CPU_SYSTEM_LOAD_GAUGE]) {
|
|
@@ -337,6 +365,7 @@ data
|
|
|
337
365
|
}
|
|
338
366
|
|
|
339
367
|
const point = new Point('all')
|
|
368
|
+
.measurement('service')
|
|
340
369
|
// Context settings
|
|
341
370
|
.tag('serviceId', serviceId as string)
|
|
342
371
|
.tag('serviceName', serviceName as string)
|
|
@@ -346,9 +375,6 @@ data
|
|
|
346
375
|
.tag('hostName', hostName as string)
|
|
347
376
|
.tag('pid', (pid as number).toString())
|
|
348
377
|
.tag('ppid', (ppid as number).toString())
|
|
349
|
-
.tag('isMaster', (isMaster as boolean).toString())
|
|
350
|
-
.tag('isWorker', (isWorker as boolean).toString())
|
|
351
|
-
.tag('modelType', 'service')
|
|
352
378
|
// Data fields
|
|
353
379
|
.intField('requestCount', instrumentPayload.instruments[Gauge.REQUEST_COUNT_GAUGE].val)
|
|
354
380
|
.intField('errorCount', instrumentPayload.instruments[Gauge.ERROR_COUNT_GAUGE].val)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerAgent.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerAgent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"influxDBManagerAgent.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerAgent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAIvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAIpF,qBAAa,oBAAqB,SAAQ,mBAAmB;;gBAE7C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;IAIvF,IAAa,SAAS,IAAI,MAAM,CAE/B;IAkLK,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkB7F,uBAAuB,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkBzF,8BAA8B,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBhG,6BAA6B,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB/F,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsC/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerBase.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"influxDBManagerBase.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,qBAAa,mBAAmB;;gBAOhB,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;IAMvF,IAAI,OAAO,4BAEV;IACD,IAAI,QAAQ,aAEX;IAED,IAAI,WAAW,aAEd;IAED,IAAI,YAAY,IAGM,OAAO,CAD5B;IACD,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,EAE5B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGK,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAuCxE,sBAAsB,aAAc,GAAG,EAAE,SAUxC;IAED,kBAAkB,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU;IAaxE,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAG/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"influxDBManagerService.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"influxDBManagerService.d.ts","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAIvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAIpF,qBAAa,sBAAuB,SAAQ,mBAAmB;;gBAE/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;IAIvF,IAAa,SAAS,IAAI,MAAM,CAE/B;IA6PK,6BAA6B,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkB/F,yBAAyB,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmB3F,kCAAkC,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBpG,iCAAiC,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqBnG,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAoD/E"}
|