@axinom/mosaic-message-bus 0.6.1-rc.2 → 0.7.0-rc.0

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/broker.d.ts CHANGED
@@ -11,8 +11,10 @@ export declare class BrokerProxy {
11
11
  private static instance;
12
12
  private subscriptions;
13
13
  private publications;
14
+ private isConnectedToBroker;
14
15
  private constructor();
15
16
  private attachBrokerHandlers;
17
+ private onBrokerVhostInitialized;
16
18
  private onBrokerError;
17
19
  private onBrokerBlocked;
18
20
  private onBrokerUnblocked;
@@ -72,5 +74,9 @@ export declare class BrokerProxy {
72
74
  * Consider using addMessageHandler to initialize a subscription and directly attach a message handled to be executed on message received event.
73
75
  */
74
76
  subscribe(key: string, overrides?: SubscriptionConfig): Promise<SubscriberSessionAsPromised>;
77
+ /**
78
+ * Returns a boolean indicating if the service is connected to the Broker.
79
+ */
80
+ isConnected(): boolean;
75
81
  }
76
82
  //# sourceMappingURL=broker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAkBjB;;GAEG;AACH,qBAAa,WAAW;IAOpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAPhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IAErC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,YAAY,CAAkC;IAEtD,OAAO;IAOP,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;YAQP,eAAe;IAa7B,OAAO,CAAC,cAAc;IAStB;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,EACvB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,WAAW,CAAC;IASvB;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EACrC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EACjC,UAAU,GAAE,mBAAmB,EAAO,GACrC,OAAO,CAAC,2BAA2B,CAAC;IAKvC;;;;;;;OAOG;IACU,OAAO,CAAC,CAAC,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,EACV,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAQ9B;;;;OAIG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;OAGG;IACU,SAAS,CACpB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,2BAA2B,CAAC;CAGxC"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAEL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAkBjB;;GAEG;AACH,qBAAa,WAAW;IAUpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IAErC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,YAAY,CAAkC;IAGtD,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO;IAOP,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;YAQP,eAAe;IAa7B,OAAO,CAAC,cAAc;IAStB;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,EACvB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,WAAW,CAAC;IASvB;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EACrC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EACjC,UAAU,GAAE,mBAAmB,EAAO,GACrC,OAAO,CAAC,2BAA2B,CAAC;IAKvC;;;;;;;OAOG;IACU,OAAO,CAAC,CAAC,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,EACV,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAQ9B;;;;OAIG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAItD;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;OAGG;IACU,SAAS,CACpB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,2BAA2B,CAAC;IAIvC;;OAEG;IACI,WAAW,IAAI,OAAO;CAG9B"}
package/dist/broker.js CHANGED
@@ -14,16 +14,29 @@ class BrokerProxy {
14
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
15
  this.subscriptions = new Map();
16
16
  this.publications = new Map();
17
+ // Rascal always establishes a connection during the BrokerProxy creation, and the service itself will
18
+ // fail if the broker connection fails. If this code is run, it's ensured the service has connected to the Broker.
19
+ this.isConnectedToBroker = true;
17
20
  this.attachBrokerHandlers();
18
21
  }
19
22
  attachBrokerHandlers() {
23
+ this.broker.on('vhost_initialised', this.onBrokerVhostInitialized.bind(this));
20
24
  this.broker.on('error', this.onBrokerError.bind(this));
21
25
  this.broker.on('blocked', this.onBrokerBlocked.bind(this));
22
26
  this.broker.on('unblocked', this.onBrokerUnblocked.bind(this));
23
27
  this.broker.on('busy', this.onBrokerBusy.bind(this));
24
28
  this.broker.on('ready', this.onBrokerReady.bind(this));
25
29
  }
30
+ onBrokerVhostInitialized(connection) {
31
+ this.isConnectedToBroker = true;
32
+ this.logger.debug({
33
+ context: 'BrokerVhostInitialized',
34
+ message: `Vhost: ${connection.vhost} connection established: ${connection.connectionUrl}.`,
35
+ details: { connection },
36
+ });
37
+ }
26
38
  onBrokerError(error, connection) {
39
+ this.isConnectedToBroker = false;
27
40
  this.logger.error(error, {
28
41
  context: 'BrokerError',
29
42
  message: `Vhost: ${connection.vhost} had an error using connection: ${connection.connectionUrl}.`,
@@ -31,6 +44,7 @@ class BrokerProxy {
31
44
  });
32
45
  }
33
46
  onBrokerBlocked(reason, connection) {
47
+ this.isConnectedToBroker = false;
34
48
  this.logger.debug({
35
49
  context: 'BrokerBlocked',
36
50
  message: `Vhost: ${connection.vhost} was blocked using connection: ${connection.connectionUrl}. Reason: ${reason}`,
@@ -38,6 +52,7 @@ class BrokerProxy {
38
52
  });
39
53
  }
40
54
  onBrokerUnblocked(reason, connection) {
55
+ this.isConnectedToBroker = true;
41
56
  this.logger.debug({
42
57
  context: 'BrokerUnblocked',
43
58
  message: `Vhost: ${connection.vhost} was unblocked using connection: ${connection.connectionUrl}. Reason: ${reason}`,
@@ -152,6 +167,12 @@ class BrokerProxy {
152
167
  async subscribe(key, overrides) {
153
168
  return this.broker.subscribe(key, overrides);
154
169
  }
170
+ /**
171
+ * Returns a boolean indicating if the service is connected to the Broker.
172
+ */
173
+ isConnected() {
174
+ return this.isConnectedToBroker;
175
+ }
155
176
  }
156
177
  exports.BrokerProxy = BrokerProxy;
157
178
  //# sourceMappingURL=broker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { BrokerProxy as Broker } from './broker';
2
2
  export * from './common';
3
3
  export * from './message-handler';
4
4
  export * from './middleware';
5
+ export * from './monitoring';
5
6
  export * from './publication';
6
7
  export * from './rascal-config-builder';
7
8
  export * from './subscription';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "Broker", { enumerable: true, get: function () {
16
16
  __exportStar(require("./common"), exports);
17
17
  __exportStar(require("./message-handler"), exports);
18
18
  __exportStar(require("./middleware"), exports);
19
+ __exportStar(require("./monitoring"), exports);
19
20
  __exportStar(require("./publication"), exports);
20
21
  __exportStar(require("./rascal-config-builder"), exports);
21
22
  __exportStar(require("./subscription"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAAiD;AAAxC,gGAAA,WAAW,OAAU;AAC9B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,gDAA8B;AAC9B,0DAAwC;AACxC,iDAA+B;AAC/B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAAiD;AAAxC,gGAAA,WAAW,OAAU;AAC9B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,0DAAwC;AACxC,iDAA+B;AAC/B,0CAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from './rabbitmq-metrics';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/monitoring/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./rabbitmq-metrics"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monitoring/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,11 @@
1
+ import { Metric } from 'prom-client';
2
+ import { BrokerProxy } from '../broker';
3
+ /**
4
+ * Creates a `Gauge` metric with the name `ax_rabbitmq_connectivity` which can be added to a metric Registry.
5
+ * This metric will have a value of `1` if the service has connectivity to the RabbitMQ broker, or a value of `0` otherwise.
6
+ *
7
+ * @param broker The RabbitMQ broker to use for checking the connectivity.
8
+ * @returns A `Gauge` metric with a name `ax_rabbitmq_connectivity`.
9
+ */
10
+ export declare const CreateRabbitMQConnectivityMetric: (broker: BrokerProxy) => Metric<string>;
11
+ //# sourceMappingURL=rabbitmq-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-metrics.d.ts","sourceRoot":"","sources":["../../src/monitoring/rabbitmq-metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,WACnC,WAAW,KAClB,OAAO,MAAM,CASf,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateRabbitMQConnectivityMetric = void 0;
4
+ /* eslint-disable no-case-declarations */
5
+ const prom_client_1 = require("prom-client");
6
+ /**
7
+ * Creates a `Gauge` metric with the name `ax_rabbitmq_connectivity` which can be added to a metric Registry.
8
+ * This metric will have a value of `1` if the service has connectivity to the RabbitMQ broker, or a value of `0` otherwise.
9
+ *
10
+ * @param broker The RabbitMQ broker to use for checking the connectivity.
11
+ * @returns A `Gauge` metric with a name `ax_rabbitmq_connectivity`.
12
+ */
13
+ const CreateRabbitMQConnectivityMetric = (broker) => {
14
+ return new prom_client_1.Gauge({
15
+ name: `ax_rabbitmq_connectivity`,
16
+ help: `Connection status from the service to the RabbitMQ broker`,
17
+ async collect() {
18
+ broker.isConnected() ? this.set(1) : this.set(0);
19
+ },
20
+ });
21
+ };
22
+ exports.CreateRabbitMQConnectivityMetric = CreateRabbitMQConnectivityMetric;
23
+ //# sourceMappingURL=rabbitmq-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-metrics.js","sourceRoot":"","sources":["../../src/monitoring/rabbitmq-metrics.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,6CAA4C;AAG5C;;;;;;GAMG;AACI,MAAM,gCAAgC,GAAG,CAC9C,MAAmB,EACH,EAAE;IAClB,OAAO,IAAI,mBAAK,CAAC;QACf,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,2DAA2D;QAEjE,KAAK,CAAC,OAAO;YACX,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,gCAAgC,oCAW3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-message-bus",
3
- "version": "0.6.1-rc.2",
3
+ "version": "0.7.0-rc.0",
4
4
  "description": "Messaging library for Axinom Mosaic services",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -27,9 +27,10 @@
27
27
  "test:ci": "jest --reporters=default --reporters=jest-junit --coverage --coverageReporters=cobertura --coverageReporters=html"
28
28
  },
29
29
  "dependencies": {
30
- "@axinom/mosaic-message-bus-abstractions": "^0.2.1-rc.2",
30
+ "@axinom/mosaic-message-bus-abstractions": "^0.2.1-rc.6",
31
31
  "amqplib": "^0.6.0",
32
32
  "dotenv": "^8.2.0",
33
+ "prom-client": "^13.0.0",
33
34
  "ramda": "^0.27.0",
34
35
  "rascal": "^14.0.1",
35
36
  "uuid": "^8.3.0"
@@ -47,5 +48,5 @@
47
48
  "publishConfig": {
48
49
  "access": "public"
49
50
  },
50
- "gitHead": "3e211a62fb783dfdd3277455c801eda433a497e4"
51
+ "gitHead": "0c858488c7f1d35c638789abcc6fdda5e5d8ff14"
51
52
  }