@nsshunt/stsappframework 3.0.19 → 3.0.21

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.
@@ -5,7 +5,7 @@ import { Gauge, InstrumentVelocity } from '@nsshunt/stsinstrumentation'
5
5
 
6
6
  import { InfluxDBManagerBase } from './influxDBManagerBase'
7
7
 
8
- import { IInfluxDBManagerOptions, InstrumentPayload } from './../commonTypes'
8
+ import { IInfluxDBManagerOptions, InstrumentPayload, ISubscriptionPayload, SubscriptionTopic } from './../commonTypes'
9
9
 
10
10
  const _logPrefix = 'InfluxDBManagerService:'
11
11
 
@@ -122,64 +122,63 @@ export class InfluxDBManagerAgent extends InfluxDBManagerBase
122
122
 
123
123
  // Metric queries -------------------------------------------------------------------------------------------------
124
124
  // Root level metrics
125
- async GetInfluxDBResultsRootAgent() {
125
+ async GetInfluxDBResultsRootAgent(): Promise<ISubscriptionPayload> {
126
+ let retVal = null;
126
127
  try {
127
- const combinedResults = await this.ProcessInfluxDBResults([
128
+ retVal = await this.ProcessInfluxDBResults([
128
129
  this.#GetSTSCountGenericAgent('agent', '', 'group(columns: ["_field"])'),
129
130
  this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["_field"])'),
130
131
  this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["_field"])')],
131
132
  [ ])
132
-
133
- return { SubscriptionType: "ID_Agent_Root", data: combinedResults };
134
133
  } catch (error) {
135
134
  console.error(`${_logPrefix}GetInfluxDBResultsRootAgent: Error: [${error}]`.red);
136
135
  }
136
+ return { topic: SubscriptionTopic.AllAgentsCombined, data: retVal };
137
137
  }
138
138
 
139
139
  // Service level metrics
140
- async GetInfluxDBResultsAgent() {
140
+ async GetInfluxDBResultsAgent(): Promise<ISubscriptionPayload> {
141
+ let retVal = null;
141
142
  try {
142
- const combinedResults = await this.ProcessInfluxDBResults([
143
+ retVal = await this.ProcessInfluxDBResults([
143
144
  this.#GetSTSCountGenericAgent('agent', '', 'group(columns: ["agentName", "_field"])'),
144
145
  this.#GetSTSQuantileGenericAgent(`agent`, '', 'group(columns: ["agentName", "_field"])'),
145
146
  this.#GetSTSHistoGenericService('agent', '', 'group(columns: ["agentName", "_field"])')],
146
147
  ['agentName'])
147
-
148
- return { SubscriptionType: "ID_Agent_Agents", data: combinedResults};
149
148
  } catch (error) {
150
149
  console.error(`${_logPrefix}GetInfluxDBResultsAgent: Error: [${error}]`.red);
151
150
  }
151
+ return { topic: SubscriptionTopic.Agents, data: retVal };
152
152
  }
153
153
 
154
154
  // Service instance metrics for a particular service type
155
- async GetInfluxDBResultsAgentThreads(agentName: string) {
155
+ async GetInfluxDBResultsAgentThreads(agentName: string): Promise<ISubscriptionPayload> {
156
+ let retVal = null;
156
157
  try {
157
-
158
- const combinedResults = await this.ProcessInfluxDBResults([
158
+ retVal = await this.ProcessInfluxDBResults([
159
159
  this.#GetSTSCountGenericAgent('agent', `and r["agentName"] == "${agentName}"`, `group(columns: ["agentName", "threadId", "_field"])`),
160
160
  this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])'),
161
161
  this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}"`, 'group(columns: ["agentName", "threadId", "_field"])')],
162
162
  ['agentName', 'threadId'])
163
-
164
- return { SubscriptionType: `ID_Agent_Agent_Threads_${agentName}`, data: combinedResults};
165
163
  } catch (error) {
166
164
  console.error(`${_logPrefix}GetInfluxDBResultsAgentThreads: Error: [${error}]`.red);
167
165
  }
166
+ return { topic: SubscriptionTopic.AgentWorkers, key: agentName, data: retVal };
168
167
  }
169
168
 
170
169
  // Service instance thread metrics for a particular service instance
171
- async GetInfluxDBResultsAgentThread(agentName: string, threadId: string) {
170
+ async GetInfluxDBResultsAgentThread(agentName: string, threadId: string): Promise<ISubscriptionPayload> {
171
+ let retVal = null;
172
172
  try {
173
- const combinedResults = await this.ProcessInfluxDBResults([
173
+ retVal = await this.ProcessInfluxDBResults([
174
174
  this.#GetSTSCountGenericAgent('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, `group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])`),
175
175
  this.#GetSTSQuantileGenericAgent(`agent`, `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])'),
176
176
  this.#GetSTSHistoGenericService('agent', `and r["agentName"] == "${agentName}" and r["threadId"] == "${threadId}"`, 'group(columns: ["agentName", "threadId", "asyncRunnerId", "_field"])')],
177
177
  ['agentName', 'threadId', 'asyncRunnerId'])
178
-
179
- return { SubscriptionType: `ID_Agent_Agent_Thread_${agentName}_${threadId}`, data: combinedResults};
180
178
  } catch (error) {
181
179
  console.error(`${_logPrefix}GetInfluxDBResultsAgentThread: Error: [${error}]`.red);
182
180
  }
181
+ return { topic: SubscriptionTopic.AgentWorker, key: agentName, subkey: threadId, data: retVal };
183
182
  }
184
183
 
185
184
  // Agent context payload
@@ -5,7 +5,7 @@ import { Gauge, InstrumentVelocity } from '@nsshunt/stsinstrumentation'
5
5
 
6
6
  import { InfluxDBManagerBase } from './influxDBManagerBase'
7
7
 
8
- import { IInfluxDBManagerOptions, InstrumentPayload } from './../commonTypes'
8
+ import { IInfluxDBManagerOptions, InstrumentPayload, ISubscriptionPayload, SubscriptionTopic } from './../commonTypes'
9
9
 
10
10
  const _logPrefix = 'InfluxDBManagerService:'
11
11
 
@@ -137,63 +137,63 @@ export class InfluxDBManagerService extends InfluxDBManagerBase
137
137
 
138
138
  // Metric queries -------------------------------------------------------------------------------------------------
139
139
  // Root level metrics
140
- async GetInfluxDBResultsRootService() {
140
+ async GetInfluxDBResultsRootService(): Promise<ISubscriptionPayload> {
141
+ let retVal = null;
141
142
  try {
142
- const combinedResults = await this.ProcessInfluxDBResults([
143
+ retVal = await this.ProcessInfluxDBResults([
143
144
  this.#GetSTSCountGenericService('', 'group(columns: ["_field"])'),
144
145
  this.#GetSTSQuantileGenericService(`service`, '', 'group(columns: ["_field"])'),
145
146
  this.#GetSTSHistoGenericService('service', '', 'group(columns: ["_field"])')],
146
147
  [ ])
147
-
148
- return { SubscriptionType: "ID_", data: combinedResults };
149
148
  } catch (error) {
150
149
  console.error(`${_logPrefix}GetInfluxDBResultsRoot: Error: [${error}]`.red);
151
150
  }
151
+ return { topic: SubscriptionTopic.AllServicesCombined, data: retVal };
152
152
  }
153
153
 
154
154
  // Service level metrics
155
- async GetInfluxDBResultsService() {
155
+ async GetInfluxDBResultsService(): Promise<ISubscriptionPayload> {
156
+ let retVal = null;
156
157
  try {
157
- const combinedResults = await this.ProcessInfluxDBResults([
158
+ retVal = await this.ProcessInfluxDBResults([
158
159
  this.#GetSTSCountGenericService('', 'group(columns: ["serviceId", "_field"])'),
159
160
  this.#GetSTSQuantileGenericService(`service`, '', 'group(columns: ["serviceId", "_field"])'),
160
161
  this.#GetSTSHistoGenericService('service', '', 'group(columns: ["serviceId", "_field"])')],
161
162
  ['serviceId'])
162
-
163
- return { SubscriptionType: "ID_Service", data: combinedResults};
164
163
  } catch (error) {
165
164
  console.error(`${_logPrefix}GetInfluxDBResultsService: Error: [${error}]`.red);
166
165
  }
166
+ return { topic: SubscriptionTopic.Services, data: retVal };
167
167
  }
168
168
 
169
169
  // Service instance metrics for a particular service type
170
- async GetInfluxDBResultsServiceInstances(serviceId: string) {
170
+ async GetInfluxDBResultsServiceInstances(serviceId: string): Promise<ISubscriptionPayload> {
171
+ let retVal = null;
171
172
  try {
172
- const combinedResults = await this.ProcessInfluxDBResults([
173
+ retVal = await this.ProcessInfluxDBResults([
173
174
  this.#GetSTSCountGenericService(`and r["serviceId"] == "${serviceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "_field"])`),
174
175
  this.#GetSTSQuantileGenericService(`service`, `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])'),
175
176
  this.#GetSTSHistoGenericService('service', `and r["serviceId"] == "${serviceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "_field"])')],
176
177
  ['serviceId', 'serviceInstanceId'])
177
-
178
- return { SubscriptionType: `ID_ServiceInstances_${serviceId}`, data: combinedResults};
179
178
  } catch (error) {
180
179
  console.error(`${_logPrefix}GetInfluxDBResultsServiceInstances: Error: [${error}]`.red);
181
180
  }
181
+ return { topic: SubscriptionTopic.ServiceInstances, key: serviceId, data: retVal };
182
182
  }
183
183
 
184
184
  // Service instance thread metrics for a particular service instance
185
- async GetInfluxDBResultsServiceInstance(serviceInstanceId: string) {
185
+ async GetInfluxDBResultsServiceInstance(serviceInstanceId: string): Promise<ISubscriptionPayload> {
186
+ let retVal = null;
186
187
  try {
187
- const combinedResults = await this.ProcessInfluxDBResults([
188
+ retVal = await this.ProcessInfluxDBResults([
188
189
  this.#GetSTSCountGenericService(`and r["serviceInstanceId"] == "${serviceInstanceId}"`, `group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])`),
189
190
  this.#GetSTSQuantileGenericService(`service`, `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])'),
190
191
  this.#GetSTSHistoGenericService('service', `and r["serviceInstanceId"] == "${serviceInstanceId}"`, 'group(columns: ["serviceId", "serviceInstanceId", "serviceInstanceProcessId", "_field"])')],
191
192
  ['serviceId', 'serviceInstanceId', 'serviceInstanceProcessId'])
192
-
193
- return { SubscriptionType: `ID_ServiceInstance_${serviceInstanceId}`, data: combinedResults};
194
193
  } catch (error) {
195
194
  console.error(`${_logPrefix}GetInfluxDBResultsServiceInstance: Error: [${error}]`.red);
196
195
  }
196
+ return { topic: SubscriptionTopic.ServiceInstance, key: serviceInstanceId, data: retVal };
197
197
  }
198
198
 
199
199
  // Write data points ----------------------------------------------------------------------------------------------
@@ -0,0 +1,248 @@
1
+ import { ISubscriptions, ISubscription, ISubscriptionPayload, SubscriptionTopic } from './commonTypes'
2
+ import { KafkaManager, IKafkaManagerConfig } from './kafka/kafkamanager'
3
+ import { InfluxDBManager } from './influxdb/influxDBManager'
4
+
5
+ import { v4 as uuidv4 } from 'uuid';
6
+
7
+ import { $Options } from '@nsshunt/stsconfig'
8
+ import { STSOptionsBase } from '@nsshunt/stsutils';
9
+ const goptions = $Options()
10
+
11
+ export interface IInstrumentationSubscriberOptions {
12
+ SubscriptionInterval: number
13
+ }
14
+
15
+ export class InstrumentationSubscriber extends STSOptionsBase {
16
+ #subscriptions: Record<string, ISubscription> = { };
17
+ #influxDBManager: InfluxDBManager;
18
+ #interval: NodeJS.Timer | null = null;
19
+ #km: KafkaManager;
20
+ #KAFKA_PREFIX: string = '__STS__';
21
+
22
+ constructor(options: IInstrumentationSubscriberOptions) {
23
+ super(options);
24
+
25
+ this.#influxDBManager = new InfluxDBManager();
26
+
27
+ const kmc: IKafkaManagerConfig = {
28
+ clientId: goptions.kafka_clientId,
29
+ brokers: goptions.kafka_brokers.split(','),
30
+ keepAlive: goptions.kafka_keep_alive,
31
+ adminTimeout: goptions.kafka_admin_timeout,
32
+ connectionTimeout: goptions.kafka_connection_timeout,
33
+ logLevel: goptions.kafka_log_level,
34
+ useSSL: goptions.kafka_use_ssl,
35
+ requestTimeout: goptions.kafka_request_timeout
36
+ }
37
+ if (goptions.kafka_use_ssl) {
38
+ kmc.ssl = {
39
+ rejectUnauthorized: goptions.kafka_ssl_rejectUnauthorized,
40
+ cafile: goptions.kafka_ssl_cafile,
41
+ certfileFile: goptions.kafka_ssl_certfile,
42
+ keyfile: goptions.kafka_ssl_keyfile
43
+ }
44
+ }
45
+ this.#km = new KafkaManager(kmc);
46
+ }
47
+
48
+ async #UnSubscribeKafka(subscription: ISubscription): Promise<void> {
49
+ const unsubscribeKafka = async () => {
50
+ const kafka = subscription.kafka;
51
+ if (kafka) {
52
+ // Un-Subscribe from this kafka topic
53
+ console.log(`InstrumentationSubscriber:#UnSubscribeKafka(): Unsubscribe from Kafka topc: [${kafka.kafkaTopic}] Starting`.yellow)
54
+ await kafka.kafkaConsumer?.Stop();
55
+ await kafka.kafkaConsumer?.Disconnect();
56
+ console.log(`InstrumentationSubscriber:#UnSubscribeKafka(): Unsubscribe from Kafka topc: [${kafka.kafkaTopic}] Completed.`.yellow)
57
+ } else {
58
+ console.log(`InstrumentationSubscriber:#UnSubscribeKafka(): Kafka details do not eixsting for this topc: [${subscription.topic}].`.magenta)
59
+ }
60
+ };
61
+ return unsubscribeKafka();
62
+ }
63
+
64
+ async #SubscribeKafka(subscription: ISubscription): Promise<void> {
65
+ const kafkaSubscribe = async () => {
66
+ if (subscription.key) {
67
+ const kafkaSafeKey = `${this.#KAFKA_PREFIX}_${subscription.key}`.replace(/@/g, '_');
68
+ const kafkaGroupId = uuidv4();
69
+ subscription.kafka = {
70
+ kafkaTopic: kafkaSafeKey,
71
+ kafkaGroupId: kafkaGroupId,
72
+ kafkaConsumer: this.#km.CreateConsumer(kafkaGroupId)
73
+ };
74
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Subscribe to Kafka topc: [${subscription.kafka.kafkaTopic}] Starting`.yellow)
75
+
76
+ const kafka = subscription.kafka;
77
+ await kafka.kafkaConsumer.Connect();
78
+ await kafka.kafkaConsumer.Subscribe([kafka.kafkaTopic], false );
79
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
80
+ await kafka.kafkaConsumer.StartConsumingMessages((topic, key, partition, value, headers) => {
81
+ try {
82
+ if (key != "" && value != "") {
83
+ if (topic.localeCompare(key) === 0) {
84
+ subscription.cb({
85
+ topic: SubscriptionTopic.LogProcessing,
86
+ key: subscription.key, // Original requested topic (may be kafka un-safe)
87
+ data: {
88
+ kafkaTopic: kafka.kafkaTopic, // Safe kafka topic key with prefix. kafkaTopic, topic and key should be same value
89
+ kafkaGroupId: kafka.kafkaGroupId,
90
+ partition,
91
+ topic, // kafkaTopic, topic and key should be same value
92
+ key, // kafkaTopic, topic and key should be same value
93
+ value
94
+ }
95
+ });
96
+ } else {
97
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Invalid message format from Kafka data, topic: [${topic}] and key: [${key}] do not match`.red);
98
+ }
99
+ } else {
100
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Invalid message format from Kafka data, topic: [${topic}], key: [${key}], value: [${value}]`.red);
101
+ }
102
+ } catch (error) {
103
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Error: [${error}]`.red);
104
+ }
105
+ });
106
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Subscribe to Kafka topc: [${kafka.kafkaTopic}] Completed`.yellow)
107
+ } else {
108
+ console.log(`InstrumentationSubscriber:#SubscribeKafka(): Could not subscribe to Kafka topc, missing key for topic: [${subscription.topic}]`.magenta);
109
+ }
110
+ }
111
+ return kafkaSubscribe();
112
+ }
113
+
114
+ async #OutputSubscription(subscription: ISubscription): Promise<ISubscriptionPayload> {
115
+ // Service subscriptions
116
+ const { topic, key, subkey } = subscription;
117
+ switch (topic) {
118
+ // Services -------------------------------------------------------------------------------------------
119
+ case SubscriptionTopic.AllServicesCombined :
120
+ return this.#influxDBManager.serviceManager.GetInfluxDBResultsRootService();
121
+ case SubscriptionTopic.Services :
122
+ return this.#influxDBManager.serviceManager.GetInfluxDBResultsService();
123
+ case SubscriptionTopic.ServiceInstances :
124
+ if (key) { // key = service_id
125
+ return this.#influxDBManager.serviceManager.GetInfluxDBResultsServiceInstances(key);
126
+ } else {
127
+ throw new Error(`#OutputSubscription: key not provided for subscription: [${topic}]`);
128
+ }
129
+ case SubscriptionTopic.ServiceInstance :
130
+ if (key) { // key = service instance id
131
+ return this.#influxDBManager.serviceManager.GetInfluxDBResultsServiceInstance(key);
132
+ } else {
133
+ throw new Error(`#OutputSubscription: key not provided for subscription: [${topic}]`);
134
+ }
135
+
136
+ // User Agents -------------------------------------------------------------------------------------------
137
+ case SubscriptionTopic.AllAgentsCombined :
138
+ return this.#influxDBManager.agentManager.GetInfluxDBResultsRootAgent();
139
+ case SubscriptionTopic.Agents :
140
+ return this.#influxDBManager.agentManager.GetInfluxDBResultsAgent();
141
+ case SubscriptionTopic.AgentWorkers :
142
+ if (key) { // key = agent instance id
143
+ return this.#influxDBManager.agentManager.GetInfluxDBResultsAgentThreads(key);
144
+ } else {
145
+ throw new Error(`#OutputSubscription: key not provided for subscription: [${topic}]`);
146
+ }
147
+ case SubscriptionTopic.AgentWorker :
148
+ if (key && subkey) { // key = agent instance id, subkey = agent instance worker id
149
+ return this.#influxDBManager.agentManager.GetInfluxDBResultsAgentThread(key, subkey);
150
+ } else {
151
+ throw new Error(`#OutputSubscription: key and/or subkey not provided for subscription: [${topic}]`);
152
+ }
153
+
154
+ // Logging (both service and agent) -----------------------------------------------------------------------
155
+ case SubscriptionTopic.LogProcessing :
156
+ // Kafka processing will be handled by a dedicated kafka run consumer
157
+ return { topic, data: null };
158
+ default :
159
+ return { topic, data: null };
160
+ }
161
+ }
162
+
163
+ #ExecuteSubscriptions = async () => {
164
+ const promArray: Promise<ISubscriptionPayload>[] = [ ];
165
+ const indexArray: ISubscriptions = [ ];
166
+
167
+ for (const [, subscription] of Object.entries(this.#subscriptions)) {
168
+ promArray.push(this.#OutputSubscription(subscription));
169
+ indexArray.push(subscription);
170
+ }
171
+ const retVal = await Promise.all(promArray);
172
+ try {
173
+ for (let i=0; i < retVal.length; i++) {
174
+ indexArray[i].cb(retVal[i]);
175
+ }
176
+ } catch (error) {
177
+ console.log(`${error} -- ${JSON.stringify(retVal)}`.red);
178
+ }
179
+ }
180
+
181
+ Subscribe(subscriptions: ISubscriptions) {
182
+ if (this.#interval) {
183
+ clearInterval(this.#interval);
184
+ }
185
+ for (let i=0; i < subscriptions.length; i++) {
186
+ if (this.#subscriptions[subscriptions[i].topic]) {
187
+ // Subscription already exists - ignoring
188
+ console.log(`InstrumentationSubscriber.Subscribe(): Subscription already exists - ignoring.`.magenta);
189
+ } else {
190
+ this.#subscriptions[subscriptions[i].topic] = subscriptions[i];
191
+ console.log(`InstrumentationSubscriber.Subscribe(): topicKey: [${subscriptions[i].topic}] successfully subscribed.`.grey);
192
+ if (subscriptions[i].topic.localeCompare(SubscriptionTopic.LogProcessing) === 0) {
193
+ this.#SubscribeKafka(subscriptions[i]);
194
+ }
195
+ }
196
+ }
197
+
198
+ if (!this.#interval) {
199
+ // Output subscription immediately and then iterate ...
200
+ this.#ExecuteSubscriptions();
201
+ let interval = 1000; // default
202
+ if (this.options) {
203
+ interval = this.options.SubscriptionInterval
204
+ }
205
+ this.#interval = setInterval(() => {
206
+ this.#ExecuteSubscriptions();
207
+ }, interval);
208
+ }
209
+ }
210
+
211
+ UnSubscribe(subscriptions: ISubscriptions) {
212
+ for (let i=0; i < subscriptions.length; i++) {
213
+ if (subscriptions[i].topic.localeCompare(SubscriptionTopic.LogProcessing) === 0) {
214
+ this.#UnSubscribeKafka(subscriptions[i]);
215
+ }
216
+ delete this.#subscriptions[subscriptions[i].topic];
217
+ }
218
+ if (Object.keys(this.#subscriptions).length === 0) {
219
+ if (this.#interval) {
220
+ clearInterval(this.#interval);
221
+ this.#interval = null;
222
+ }
223
+ }
224
+ }
225
+
226
+ #UnSubscribeAll() {
227
+ if (this.#interval) {
228
+ clearInterval(this.#interval);
229
+ this.#interval = null;
230
+ }
231
+ for (const [, subscription] of Object.entries(this.#subscriptions)) {
232
+ if (subscription.topic.localeCompare(SubscriptionTopic.LogProcessing) === 0) {
233
+ this.#UnSubscribeKafka(subscription);
234
+ }
235
+ }
236
+
237
+ this.#subscriptions = { };
238
+ }
239
+
240
+ async Start() {
241
+ return this.#influxDBManager.Start();
242
+ }
243
+
244
+ async Stop() {
245
+ this.#UnSubscribeAll();
246
+ return this.#influxDBManager.Terminate();
247
+ }
248
+ }
@@ -1,6 +1,7 @@
1
1
  import { Kafka, Consumer, IHeaders } from 'kafkajs'
2
+ import { IKafkaConsumer } from './../commonTypes'
2
3
 
3
- export class KafkaConsumer {
4
+ export class KafkaConsumer implements IKafkaConsumer {
4
5
  #id: string
5
6
  #groupId: string
6
7
  #consumer: Consumer;
@@ -6,6 +6,7 @@ import { PublishInstrumentControllerV2, InstrumentDefinitions } from '@nsshunt/s
6
6
  import { InstrumentBaseTelemetry, Gauge, InstrumentBase } from '@nsshunt/stsinstrumentation';
7
7
  import { PGAccessLayer } from '@nsshunt/stsdatamanagement';
8
8
  import { STSDefaultClientToServerEvents, STSDefaultServerToClientEvents } from '@nsshunt/stssocketio-client';
9
+ import { Consumer, IHeaders } from 'kafkajs';
9
10
  export declare enum IPCMessageCommand {
10
11
  AddWorker = "AddWorker",
11
12
  DeleteWorker = "DeleteWorker"
@@ -162,4 +163,43 @@ export interface InstrumentPayload {
162
163
  context: ServiceProcessContext;
163
164
  instruments: Record<string, InstrumentBase>;
164
165
  }
166
+ export declare enum SubscriptionTopic {
167
+ AllServicesCombined = "AllServicesCombined",
168
+ Services = "Services",
169
+ ServiceInstances = "ServiceInstances",
170
+ ServiceInstance = "ServiceInstance",
171
+ AllAgentsCombined = "AllAgentsCombined",
172
+ Agents = "Agents",
173
+ AgentWorkers = "AgentWorkers",
174
+ AgentWorker = "AgentWorker",
175
+ LogProcessing = "LogProcessing"
176
+ }
177
+ export interface IKafkaConsumer {
178
+ get consumer(): Consumer;
179
+ get id(): string;
180
+ Connect(): Promise<void>;
181
+ Disconnect(): Promise<void>;
182
+ Subscribe: (topics: string[], fromBeginning: boolean) => Promise<void>;
183
+ Stop: () => Promise<void>;
184
+ StartConsumingMessages: (cb: (topic: string, key: string, partition: number, value: string, headers: IHeaders | undefined) => void) => Promise<void>;
185
+ }
186
+ export interface ISubscriptionPayload {
187
+ topic: SubscriptionTopic;
188
+ key?: string;
189
+ subkey?: string;
190
+ data: any;
191
+ }
192
+ export interface IKafkaSubscription {
193
+ kafkaTopic: string;
194
+ kafkaGroupId: string;
195
+ kafkaConsumer: IKafkaConsumer;
196
+ }
197
+ export interface ISubscription {
198
+ topic: SubscriptionTopic;
199
+ key?: string;
200
+ subkey?: string;
201
+ kafka?: IKafkaSubscription;
202
+ cb: (payload: ISubscriptionPayload) => void;
203
+ }
204
+ export type ISubscriptions = ISubscription[];
165
205
  //# sourceMappingURL=commonTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,14 @@
1
1
  import { WriteApi, QueryApi } from '@influxdata/influxdb-client';
2
2
  import { InfluxDBManagerBase } from './influxDBManagerBase';
3
- import { IInfluxDBManagerOptions, InstrumentPayload } from './../commonTypes';
3
+ import { IInfluxDBManagerOptions, InstrumentPayload, ISubscriptionPayload } from './../commonTypes';
4
4
  export declare class InfluxDBManagerAgent extends InfluxDBManagerBase {
5
5
  #private;
6
6
  constructor(options: IInfluxDBManagerOptions, queryApi: QueryApi, writeClient: WriteApi);
7
7
  get modelType(): string;
8
- GetInfluxDBResultsRootAgent(): Promise<{
9
- SubscriptionType: string;
10
- data: any;
11
- } | undefined>;
12
- GetInfluxDBResultsAgent(): Promise<{
13
- SubscriptionType: string;
14
- data: any;
15
- } | undefined>;
16
- GetInfluxDBResultsAgentThreads(agentName: string): Promise<{
17
- SubscriptionType: string;
18
- data: any;
19
- } | undefined>;
20
- GetInfluxDBResultsAgentThread(agentName: string, threadId: string): Promise<{
21
- SubscriptionType: string;
22
- data: any;
23
- } | undefined>;
8
+ GetInfluxDBResultsRootAgent(): Promise<ISubscriptionPayload>;
9
+ GetInfluxDBResultsAgent(): Promise<ISubscriptionPayload>;
10
+ GetInfluxDBResultsAgentThreads(agentName: string): Promise<ISubscriptionPayload>;
11
+ GetInfluxDBResultsAgentThread(agentName: string, threadId: string): Promise<ISubscriptionPayload>;
24
12
  OutputInfluxDB(instrumentPayload: InstrumentPayload): Promise<boolean>;
25
13
  }
26
14
  //# sourceMappingURL=influxDBManagerAgent.d.ts.map
@@ -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;AAI7E,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;;;;IAe3B,uBAAuB;;;;IAevB,8BAA8B,CAAC,SAAS,EAAE,MAAM;;;;IAgBhD,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;IAiBjE,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":"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,oBAAoB,EAAqB,MAAM,kBAAkB,CAAA;AAItH,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,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAe5D,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAexD,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAehF,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBjG,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsC/E"}
@@ -1,26 +1,14 @@
1
1
  import { WriteApi, QueryApi } from '@influxdata/influxdb-client';
2
2
  import { InfluxDBManagerBase } from './influxDBManagerBase';
3
- import { IInfluxDBManagerOptions, InstrumentPayload } from './../commonTypes';
3
+ import { IInfluxDBManagerOptions, InstrumentPayload, ISubscriptionPayload } from './../commonTypes';
4
4
  export declare class InfluxDBManagerService extends InfluxDBManagerBase {
5
5
  #private;
6
6
  constructor(options: IInfluxDBManagerOptions, queryApi: QueryApi, writeClient: WriteApi);
7
7
  get modelType(): string;
8
- GetInfluxDBResultsRootService(): Promise<{
9
- SubscriptionType: string;
10
- data: any;
11
- } | undefined>;
12
- GetInfluxDBResultsService(): Promise<{
13
- SubscriptionType: string;
14
- data: any;
15
- } | undefined>;
16
- GetInfluxDBResultsServiceInstances(serviceId: string): Promise<{
17
- SubscriptionType: string;
18
- data: any;
19
- } | undefined>;
20
- GetInfluxDBResultsServiceInstance(serviceInstanceId: string): Promise<{
21
- SubscriptionType: string;
22
- data: any;
23
- } | undefined>;
8
+ GetInfluxDBResultsRootService(): Promise<ISubscriptionPayload>;
9
+ GetInfluxDBResultsService(): Promise<ISubscriptionPayload>;
10
+ GetInfluxDBResultsServiceInstances(serviceId: string): Promise<ISubscriptionPayload>;
11
+ GetInfluxDBResultsServiceInstance(serviceInstanceId: string): Promise<ISubscriptionPayload>;
24
12
  OutputInfluxDB(instrumentPayload: InstrumentPayload): Promise<boolean>;
25
13
  }
26
14
  //# sourceMappingURL=influxDBManagerService.d.ts.map
@@ -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;AAI7E,qBAAa,sBAAuB,SAAQ,mBAAmB;;gBAE/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;IAIvF,IAAa,SAAS,IAAI,MAAM,CAE/B;IAwHK,6BAA6B;;;;IAe7B,yBAAyB;;;;IAezB,kCAAkC,CAAC,SAAS,EAAE,MAAM;;;;IAepD,iCAAiC,CAAC,iBAAiB,EAAE,MAAM;;;;IAiB3D,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":"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,oBAAoB,EAAqB,MAAM,kBAAkB,CAAA;AAItH,qBAAa,sBAAuB,SAAQ,mBAAmB;;gBAE/C,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ;IAIvF,IAAa,SAAS,IAAI,MAAM,CAE/B;IAwHK,6BAA6B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAe9D,yBAAyB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAe1D,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAepF,iCAAiC,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiB3F,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsD/E"}
@@ -0,0 +1,14 @@
1
+ import { ISubscriptions } from './commonTypes';
2
+ import { STSOptionsBase } from '@nsshunt/stsutils';
3
+ export interface IInstrumentationSubscriberOptions {
4
+ SubscriptionInterval: number;
5
+ }
6
+ export declare class InstrumentationSubscriber extends STSOptionsBase {
7
+ #private;
8
+ constructor(options: IInstrumentationSubscriberOptions);
9
+ Subscribe(subscriptions: ISubscriptions): void;
10
+ UnSubscribe(subscriptions: ISubscriptions): void;
11
+ Start(): Promise<void>;
12
+ Stop(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=instrumentationsubscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentationsubscriber.d.ts","sourceRoot":"","sources":["../src/instrumentationsubscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0D,MAAM,eAAe,CAAA;AAOtG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,WAAW,iCAAiC;IAC9C,oBAAoB,EAAE,MAAM,CAAA;CAC/B;AAED,qBAAa,yBAA0B,SAAQ,cAAc;;gBAO7C,OAAO,EAAE,iCAAiC;IA+JtD,SAAS,CAAC,aAAa,EAAE,cAAc;IA8BvC,WAAW,CAAC,aAAa,EAAE,cAAc;IA6BnC,KAAK;IAIL,IAAI;CAIb"}
@@ -1,5 +1,6 @@
1
1
  import { Kafka, Consumer, IHeaders } from 'kafkajs';
2
- export declare class KafkaConsumer {
2
+ import { IKafkaConsumer } from './../commonTypes';
3
+ export declare class KafkaConsumer implements IKafkaConsumer {
3
4
  #private;
4
5
  constructor(kafka: Kafka, id: string, groupId: string);
5
6
  get consumer(): Consumer;
@@ -1 +1 @@
1
- {"version":3,"file":"kafkaconsumer.d.ts","sourceRoot":"","sources":["../../src/kafka/kafkaconsumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEnD,qBAAa,aAAa;;gBAOV,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOrD,IAAI,QAAQ,aAEX;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,SAAS,WAAiB,MAAM,EAAE,iBAAiB,OAAO,KAAG,QAAQ,IAAI,CAAC,CAMzE;IAED,IAAI,QAAY,QAAQ,IAAI,CAAC,CAI5B;IAED,sBAAsB,eAAsB,MAAM,OAAO,MAAM,aAAa,MAAM,SAAS,MAAM,WAAW,QAAQ,GAAG,SAAS,KAAK,IAAI,KAAG,QAAQ,IAAI,CAAC,CA2BxJ;CACJ"}
1
+ {"version":3,"file":"kafkaconsumer.d.ts","sourceRoot":"","sources":["../../src/kafka/kafkaconsumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,qBAAa,aAAc,YAAW,cAAc;;gBAOpC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOrD,IAAI,QAAQ,aAEX;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,SAAS,WAAiB,MAAM,EAAE,iBAAiB,OAAO,KAAG,QAAQ,IAAI,CAAC,CAMzE;IAED,IAAI,QAAY,QAAQ,IAAI,CAAC,CAI5B;IAED,sBAAsB,eAAsB,MAAM,OAAO,MAAM,aAAa,MAAM,SAAS,MAAM,WAAW,QAAQ,GAAG,SAAS,KAAK,IAAI,KAAG,QAAQ,IAAI,CAAC,CA2BxJ;CACJ"}