@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.
@@ -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 (modelType, filterClause, groupClause, showOutput = false) => {
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"] == "all" and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType, filterClause, groupClause) => {
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"] == "all")
62
- |> filter(fn: (r) => r["_field"] == q and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType, filterClause, groupClause) => {
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"] == "all")
87
- |> filter(fn: (r) => r["_field"] == f and r["modelType"] == "${modelType}" ${filterClause})
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('agent', '', 'group(columns: ["_field"])'),
120
- this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["_field"])'),
121
- this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["_field"])')
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('agent', '', 'group(columns: ["agentName", "_field"])'),
138
- this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["agentName", "_field"])'),
139
- this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["agentName", "_field"])')
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('agent', `and r["agentName"] == "${agentName}"`, `group(columns: ["agentName", "threadId", "_field"])`),
157
- this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])'),
158
- this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])')
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('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, `group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])`),
177
- this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])'),
178
- this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])')
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":"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"}
1
+ {"version":3,"file":"influxDBManagerAgent.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerAgent.ts"],"names":[],"mappings":";;;AAAA,wFAAwF,CAAE,UAAU;AACpG,4FAA4F;AAC5F,+GAA+G;AAC/G,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,YAAoB,EAAE,WAAmB,EAAE,aAAsB,KAAK,EAAE,EAAE;QACxG,IAAI;YACA,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM;;;;;;;;;;;;kDAYZ,YAAY;iBAC7C,WAAW;qBACP,CAAC;YAEV,IAAI,UAAU,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,gCAAgC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5E;IACL,CAAC,CAAA;IAED,2BAA2B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,aAAsB,KAAK,EAAE,EAAE;QAC3G,IAAI;YACA,MAAM,KAAK,GAAG;4BACE,IAAI,CAAC,OAAO,CAAC,MAAM;;gEAEiB,YAAY;;;iBAG3D,WAAW;;;;;;;;;;;;;;;;;+BAiBG,CAAC;YAEpB,IAAI,UAAU,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,gCAAgC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5E;IACL,CAAC,CAAA;IAED,gBAAgB;IAChB,0BAA0B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAgB,EAAE;QAC3F,IAAI;YACA,MAAM,KAAK,GAAG;4BACE,IAAI,CAAC,OAAO,CAAC,MAAM;;;+CAGA,YAAY;iBAC1C,WAAW;;4BAEA,CAAC;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,gCAAgC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5E;IACL,CAAC,CAAA;IAED,6BAA6B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAgB,EAAE;QAC9F,IAAI;YACA,MAAM,KAAK,GAAG;;;4BAGE,IAAI,CAAC,OAAO,CAAC,MAAM;;;oDAGK,YAAY;iBAC/C,WAAW;;;;;;;;;;gCAUI,CAAC;YACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,gCAAgC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5E;IACL,CAAC,CAAA;IAED,mBAAmB;IACnB,2BAA2B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,EAAE;QAC9E,IAAI;YACA,MAAM,KAAK,GAAG,wBAAwB,IAAI,CAAC,OAAO,CAAC,MAAM;;;gDAGrB,YAAY;iBAC3C,WAAW;;;;;;;;;;;;;;;eAeb,CAAC;YAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,mCAAmC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC/E;IACL,CAAC,CAAA;IAED,8BAA8B,GAAG,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,EAAE;QACjF,IAAI;YACA,MAAM,KAAK,GAAG;4BACE,IAAI,CAAC,OAAO,CAAC,MAAM;;;oDAGK,YAAY;iBAC/C,WAAW;;;;;;;;;;;;;;;;;;eAkBb,CAAC;YAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SAC1C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,mCAAmC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAC/E;IACL,CAAC,CAAA;IAED,mHAAmH;IACnH,qBAAqB;IACrB,KAAK,CAAC,2BAA2B,CAAC,eAAiC;QAC/D,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI;YACA,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBACvC,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,4BAA4B,CAAC;gBAC/D,IAAI,CAAC,2BAA2B,CAAC,EAAE,EAAE,4BAA4B,CAAC;gBAClE,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,4BAA4B,CAAC;aAAC,EACtE,EAAG,CAAC,CAAA;SACP;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,wCAAwC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SACpF;QACD,OAAO;YACH,eAAe;YACf,IAAI,EAAE,MAAM;SACf,CAAC;IACN,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,uBAAuB,CAAC,eAAiC;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI;YACA,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBACvC,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,yCAAyC,CAAC;gBAC5E,IAAI,CAAC,2BAA2B,CAAC,EAAE,EAAE,yCAAyC,CAAC;gBAC/E,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,yCAAyC,CAAC;aAAC,EACnF,CAAC,WAAW,CAAC,CAAC,CAAA;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,oCAAoC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SAChF;QACD,OAAO;YACH,eAAe;YACf,IAAI,EAAE,MAAM;SACf,CAAC;IACN,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,8BAA8B,CAAC,eAAiC;QAClE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI;YACA,MAAM,SAAS,GAAG,eAAe,CAAC,GAAa,CAAC;YAChD,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBACvC,IAAI,CAAC,wBAAwB,CAAC,0BAA0B,SAAS,GAAG,EAAE,qDAAqD,CAAC;gBAC5H,IAAI,CAAC,2BAA2B,CAAC,0BAA0B,SAAS,GAAG,EAAE,qDAAqD,CAAC;gBAC/H,IAAI,CAAC,0BAA0B,CAAC,0BAA0B,SAAS,GAAG,EAAE,qDAAqD,CAAC;aAAC,EACnI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;SAC7B;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,2CAA2C,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SACvF;QACD,OAAO;YACH,eAAe;YACf,IAAI,EAAE,MAAM;SACf,CAAC;IACN,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,6BAA6B,CAAC,eAAiC;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI;YACA,MAAM,SAAS,GAAG,eAAe,CAAC,GAAa,CAAC;YAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAgB,CAAC;YAClD,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBACvC,IAAI,CAAC,wBAAwB,CAAC,0BAA0B,SAAS,2BAA2B,QAAQ,GAAG,EAAE,sEAAsE,CAAC;gBAChL,IAAI,CAAC,2BAA2B,CAAC,0BAA0B,SAAS,2BAA2B,QAAQ,GAAG,EAAE,sEAAsE,CAAC;gBACnL,IAAI,CAAC,0BAA0B,CAAC,0BAA0B,SAAS,2BAA2B,QAAQ,GAAG,EAAE,sEAAsE,CAAC;aAAC,EACvL,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;SAC9C;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,0CAA0C,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SACtF;QACD,OAAO;YACH,eAAe;YACf,IAAI,EAAE,MAAM;SACf,CAAC;IACN,CAAC;IAED,wBAAwB;IACxB,4LAA4L;IAC5L,kHAAkH;IAClH,KAAK,CAAC,cAAc,CAAC,iBAAoC;QACrD,IAAI;YACA,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;YAE5F,IAAI,SAAS,GAAG,GAAG,CAAC;YACpB,IAAI,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,qBAAqB,CAAC,EAAE;gBAC5D,SAAS,GAAI,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,qBAAqB,CAAC,CAAC,GAAc,CAAC;aAC1F;YAED,MAAM,KAAK,GAAG,IAAI,uBAAK,CAAC,KAAK,CAAC;iBACzB,WAAW,CAAC,OAAO,CAAC;gBACrB,mBAAmB;iBAClB,GAAG,CAAC,IAAI,EAAE,EAAY,CAAC,CAAC,wBAAwB;iBAChD,GAAG,CAAC,UAAU,EAAE,QAAkB,CAAC,CAAC,wBAAwB;iBAC5D,GAAG,CAAC,WAAW,EAAE,SAAmB,CAAC,CAAC,wBAAwB;iBAC9D,GAAG,CAAC,UAAU,EAAE,QAAkB,CAAC,CAAC,wBAAwB;iBAC5D,GAAG,CAAC,eAAe,EAAE,aAAuB,CAAC;gBAC9C,cAAc;iBACb,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBAC3F,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBACvF,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBACvF,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBACzG,UAAU,CAAC,UAAU,EAAG,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,cAAc,CAAwB,CAAC,EAAE,CAAC,CAAC,kCAAkC;iBACzI,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBACrF,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBAC9E,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBACpF,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBAClF,QAAQ,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;iBAClG,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,WAAW,CAAC,0BAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,IAAI;YAClF,cAAc;YACd,sBAAsB;YAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAU,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,qDAAqD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;CACJ;AA7SD,oDA6SC"}
@@ -1 +1 @@
1
- {"version":3,"file":"influxDBManagerBase.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerBase.ts"],"names":[],"mappings":"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"}
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: -5s)
36
- |> filter(fn: (r) => r["_measurement"] == "all" and r["modelType"] == "service" ${filterClause})
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"] == "all" and r["modelType"] == "service" ${filterClause})
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"] == "all" and r["modelType"] == "service" ${filterClause})
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 (modelType, filterClause, groupClause) => {
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"] == "all" and r["modelType"] == "${modelType}" and (r["_field"] =="latency" or
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 (modelType, filterClause, groupClause) => {
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"] == "all")
147
- |> filter(fn: (r) => r["_field"] == q and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType, filterClause, groupClause) => {
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"] == "all" and r["modelType"] == "${modelType}" and (r["_field"] == "latency" or
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 (modelType, filterClause, groupClause) => {
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"] == "all")
202
- |> filter(fn: (r) => r["_field"] == f and r["modelType"] == "${modelType}" ${filterClause})
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(`service`, '', 'group(columns: ["_field"])'),
238
- this.#GetSTSHistoGenericService('service', '', 'group(columns: ["_field"])')
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(`service`, '', 'group(columns: ["serviceId", "_field"])'),
256
- this.#GetSTSHistoGenericService('service', '', 'group(columns: ["serviceId", "_field"])')
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(`service`, `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
275
- this.#GetSTSHistoGenericService('service', `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')
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(`service`, `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
294
- this.#GetSTSHistoGenericService('service', `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')
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, isMaster, isWorker, serviceName, serviceVersion } = instrumentPayload.context;
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":"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"}
1
+ {"version":3,"file":"influxDBManagerService.js","sourceRoot":"","sources":["../../src/influxdb/influxDBManagerService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.0.48",
3
+ "version": "3.0.50",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -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 (modelType: string, filterClause: string, groupClause: string, showOutput: boolean = false) => {
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"] == "all" and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType: string, filterClause: string, groupClause: string): Promise<any> => {
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"] == "all")
72
- |> filter(fn: (r) => r["_field"] == q and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType: string, filterClause: string, groupClause: string) => {
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"] == "all")
97
- |> filter(fn: (r) => r["_field"] == f and r["modelType"] == "${modelType}" ${filterClause})
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('agent', '', 'group(columns: ["_field"])'),
131
- this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["_field"])'),
132
- this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["_field"])')],
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('agent', '', 'group(columns: ["agentName", "_field"])'),
149
- this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["agentName", "_field"])'),
150
- this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["agentName", "_field"])')],
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('agent', `and r["agentName"] == "${agentName}"`, `group(columns: ["agentName", "threadId", "_field"])`),
168
- this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])'),
169
- this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])')],
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('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, `group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])`),
188
- this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])'),
189
- this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])')],
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: -5s)
45
- |> filter(fn: (r) => r["_measurement"] == "all" and r["modelType"] == "service" ${filterClause})
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"] == "all" and r["modelType"] == "service" ${filterClause})
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"] == "all" and r["modelType"] == "service" ${filterClause})
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 (modelType: string, filterClause: string, groupClause: string): Promise<any> => {
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"] == "all" and r["modelType"] == "${modelType}" and (r["_field"] =="latency" or
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 (modelType: string, filterClause: string, groupClause: string): Promise<any> => {
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"] == "all")
160
- |> filter(fn: (r) => r["_field"] == q and r["modelType"] == "${modelType}" ${filterClause})
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 (modelType: string, filterClause: string, groupClause: string): Promise<any> => {
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"] == "all" and r["modelType"] == "${modelType}" and (r["_field"] == "latency" or
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 (modelType: string, filterClause: string, groupClause: string): Promise<any> => {
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"] == "all")
217
- |> filter(fn: (r) => r["_field"] == f and r["modelType"] == "${modelType}" ${filterClause})
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(`service`, '', 'group(columns: ["_field"])'),
254
- this.#GetSTSHistoGenericService('service', '', 'group(columns: ["_field"])')],
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(`service`, '', 'group(columns: ["serviceId", "_field"])'),
272
- this.#GetSTSHistoGenericService('service', '', 'group(columns: ["serviceId", "_field"])')],
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(`service`, `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
292
- this.#GetSTSHistoGenericService('service', `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')],
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(`service`, `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
311
- this.#GetSTSHistoGenericService('service', `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')],
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, isMaster, isWorker, serviceName, serviceVersion } = instrumentPayload.context;
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":"AACA,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;IAyGK,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
+ {"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":"AACA,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
+ {"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":"AACA,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;IAmOK,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;CAsD/E"}
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"}