@signageos/lib 23.9.1 → 23.9.2

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.
Files changed (184) hide show
  1. package/README.md +2 -2
  2. package/dist/AMQP/CQRS/ICommand.d.ts +3 -36
  3. package/dist/AMQP/CQRS/ICommand.js +18 -0
  4. package/dist/AMQP/CQRS/ICommand.js.map +1 -1
  5. package/dist/AMQP/CQRS/ICommandError.d.ts +4 -4
  6. package/dist/AMQP/CQRS/commandQueue.d.ts +4 -59
  7. package/dist/AMQP/CQRS/commandQueue.js +16 -308
  8. package/dist/AMQP/CQRS/commandQueue.js.map +1 -1
  9. package/dist/AMQP/CQRS/commandResponseHelper.d.ts +4 -3
  10. package/dist/AMQP/CQRS/commandResponseHelper.js +18 -5
  11. package/dist/AMQP/CQRS/commandResponseHelper.js.map +1 -1
  12. package/dist/AMQP/CQRS/storedCommandQueue.d.ts +4 -27
  13. package/dist/AMQP/CQRS/storedCommandQueue.js +16 -296
  14. package/dist/AMQP/CQRS/storedCommandQueue.js.map +1 -1
  15. package/dist/AMQP/ChannelProvider.d.ts +5 -37
  16. package/dist/AMQP/ChannelProvider.js +9 -868
  17. package/dist/AMQP/ChannelProvider.js.map +1 -1
  18. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.d.ts +4 -39
  19. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js +16 -287
  20. package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js.map +1 -1
  21. package/dist/AMQP/DeviceActions/IDeviceAction.d.ts +4 -4
  22. package/dist/AMQP/DeviceActions/deviceActionsQueue.d.ts +2 -81
  23. package/dist/AMQP/DeviceActions/deviceActionsQueue.js +14 -531
  24. package/dist/AMQP/DeviceActions/deviceActionsQueue.js.map +1 -1
  25. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.d.ts +2 -45
  26. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js +14 -211
  27. package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js.map +1 -1
  28. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.d.ts +2 -11
  29. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js +18 -0
  30. package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js.map +1 -1
  31. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.d.ts +2 -13
  32. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js +14 -69
  33. package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js.map +1 -1
  34. package/dist/AMQP/EventSourcing/IEvent.d.ts +3 -70
  35. package/dist/AMQP/EventSourcing/IEvent.js +18 -0
  36. package/dist/AMQP/EventSourcing/IEvent.js.map +1 -1
  37. package/dist/AMQP/EventSourcing/Locked/deferredState.d.ts +2 -19
  38. package/dist/AMQP/EventSourcing/Locked/deferredState.js +15 -66
  39. package/dist/AMQP/EventSourcing/Locked/deferredState.js.map +1 -1
  40. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.d.ts +2 -68
  41. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js +14 -429
  42. package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js.map +1 -1
  43. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.d.ts +2 -22
  44. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js +16 -59
  45. package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js.map +1 -1
  46. package/dist/AMQP/EventSourcing/Locked/withLock.d.ts +2 -40
  47. package/dist/AMQP/EventSourcing/Locked/withLock.js +14 -134
  48. package/dist/AMQP/EventSourcing/Locked/withLock.js.map +1 -1
  49. package/dist/AMQP/EventSourcing/eventQueue.d.ts +2 -85
  50. package/dist/AMQP/EventSourcing/eventQueue.js +14 -132
  51. package/dist/AMQP/EventSourcing/eventQueue.js.map +1 -1
  52. package/dist/AMQP/EventSourcing/eventQueue.utils.d.ts +2 -71
  53. package/dist/AMQP/EventSourcing/eventQueue.utils.js +16 -152
  54. package/dist/AMQP/EventSourcing/eventQueue.utils.js.map +1 -1
  55. package/dist/AMQP/EventSourcing/eventQueueDetached.d.ts +2 -47
  56. package/dist/AMQP/EventSourcing/eventQueueDetached.js +14 -421
  57. package/dist/AMQP/EventSourcing/eventQueueDetached.js.map +1 -1
  58. package/dist/AMQP/EventSourcing/eventQueueDomain.d.ts +2 -53
  59. package/dist/AMQP/EventSourcing/eventQueueDomain.js +14 -611
  60. package/dist/AMQP/EventSourcing/eventQueueDomain.js.map +1 -1
  61. package/dist/AMQP/EventSourcing/eventQueuePublish.d.ts +2 -17
  62. package/dist/AMQP/EventSourcing/eventQueuePublish.js +14 -202
  63. package/dist/AMQP/EventSourcing/eventQueuePublish.js.map +1 -1
  64. package/dist/AMQP/EventSourcing/synchronization.d.ts +2 -37
  65. package/dist/AMQP/EventSourcing/synchronization.js +18 -9
  66. package/dist/AMQP/EventSourcing/synchronization.js.map +1 -1
  67. package/dist/AMQP/Exchange.d.ts +4 -1
  68. package/dist/AMQP/Exchange.js +18 -0
  69. package/dist/AMQP/Exchange.js.map +1 -1
  70. package/dist/AMQP/IAsyncGotMessage.d.ts +2 -13
  71. package/dist/AMQP/IAsyncGotMessage.js +18 -0
  72. package/dist/AMQP/IAsyncGotMessage.js.map +1 -1
  73. package/dist/AMQP/IChannel.d.ts +5 -43
  74. package/dist/AMQP/IChannel.js +18 -0
  75. package/dist/AMQP/IChannel.js.map +1 -1
  76. package/dist/AMQP/IConsumeOptions.d.ts +5 -106
  77. package/dist/AMQP/IConsumeOptions.js +18 -0
  78. package/dist/AMQP/IConsumeOptions.js.map +1 -1
  79. package/dist/AMQP/IMessageOptions.d.ts +5 -6
  80. package/dist/AMQP/IMessageOptions.js +18 -0
  81. package/dist/AMQP/IMessageOptions.js.map +1 -1
  82. package/dist/AMQP/INackOptions.d.ts +5 -4
  83. package/dist/AMQP/INackOptions.js +18 -0
  84. package/dist/AMQP/INackOptions.js.map +1 -1
  85. package/dist/AMQP/IQueueOptions.d.ts +5 -8
  86. package/dist/AMQP/IQueueOptions.js +18 -0
  87. package/dist/AMQP/IQueueOptions.js.map +1 -1
  88. package/dist/AMQP/Logging/IDeviceLog.d.ts +4 -15
  89. package/dist/AMQP/Logging/IDeviceLog.js +18 -7
  90. package/dist/AMQP/Logging/IDeviceLog.js.map +1 -1
  91. package/dist/AMQP/Logging/logDeviceQueue.d.ts +4 -12
  92. package/dist/AMQP/Logging/logDeviceQueue.js +16 -102
  93. package/dist/AMQP/Logging/logDeviceQueue.js.map +1 -1
  94. package/dist/AMQP/QueueFetcher.d.ts +3 -11
  95. package/dist/AMQP/QueueFetcher.js +17 -156
  96. package/dist/AMQP/QueueFetcher.js.map +1 -1
  97. package/dist/AMQP/QueuePublisher.d.ts +5 -7
  98. package/dist/AMQP/QueuePublisher.js +19 -127
  99. package/dist/AMQP/QueuePublisher.js.map +1 -1
  100. package/dist/AMQP/QueueRepeatableSubscription.d.ts +5 -14
  101. package/dist/AMQP/QueueRepeatableSubscription.js +19 -154
  102. package/dist/AMQP/QueueRepeatableSubscription.js.map +1 -1
  103. package/dist/AMQP/QueueSubscriber.d.ts +5 -27
  104. package/dist/AMQP/QueueSubscriber.js +9 -303
  105. package/dist/AMQP/QueueSubscriber.js.map +1 -1
  106. package/dist/AMQP/ResponseProvider.d.ts +4 -20
  107. package/dist/AMQP/ResponseProvider.js +16 -188
  108. package/dist/AMQP/ResponseProvider.js.map +1 -1
  109. package/dist/AMQP/Static/filesQueue.d.ts +4 -12
  110. package/dist/AMQP/Static/filesQueue.js +6 -205
  111. package/dist/AMQP/Static/filesQueue.js.map +1 -1
  112. package/dist/AMQP/amqpConnectionFactory.d.ts +2 -25
  113. package/dist/AMQP/amqpConnectionFactory.js +4 -219
  114. package/dist/AMQP/amqpConnectionFactory.js.map +1 -1
  115. package/dist/AMQP/amqpErrors.d.ts +4 -5
  116. package/dist/AMQP/amqpErrors.js +18 -27
  117. package/dist/AMQP/amqpErrors.js.map +1 -1
  118. package/dist/AMQP/errors.d.ts +4 -3
  119. package/dist/AMQP/errors.js +18 -27
  120. package/dist/AMQP/errors.js.map +1 -1
  121. package/dist/AMQP/fetchNextMessage.d.ts +3 -12
  122. package/dist/AMQP/fetchNextMessage.js +20 -111
  123. package/dist/AMQP/fetchNextMessage.js.map +1 -1
  124. package/dist/AMQP/queueConfigurator.d.ts +2 -3
  125. package/dist/AMQP/queueConfigurator.js +14 -71
  126. package/dist/AMQP/queueConfigurator.js.map +1 -1
  127. package/dist/DateTime/waitUntil.d.ts +4 -15
  128. package/dist/DateTime/waitUntil.js +17 -139
  129. package/dist/DateTime/waitUntil.js.map +1 -1
  130. package/dist/Events/AsyncEventEmitter.d.ts +2 -29
  131. package/dist/Events/AsyncEventEmitter.js +14 -118
  132. package/dist/Events/AsyncEventEmitter.js.map +1 -1
  133. package/dist/Events/eventsHelpers.d.ts +4 -3
  134. package/dist/Events/eventsHelpers.js +18 -21
  135. package/dist/Events/eventsHelpers.js.map +1 -1
  136. package/dist/Hash/checksum.d.ts +2 -3
  137. package/dist/Hash/checksum.js +16 -15
  138. package/dist/Hash/checksum.js.map +1 -1
  139. package/dist/Hash/checksumFile.d.ts +2 -2
  140. package/dist/Hash/checksumFile.js +4 -65
  141. package/dist/Hash/checksumFile.js.map +1 -1
  142. package/dist/Hash/generator.d.ts +4 -2
  143. package/dist/Hash/generator.js +18 -12
  144. package/dist/Hash/generator.js.map +1 -1
  145. package/dist/HttpStatus/checks/amqpStatusCheck.d.ts +1 -1
  146. package/dist/HttpStatus/statuses/amqpStatus.d.ts +1 -1
  147. package/dist/Metrics/MetricsClient.d.ts +2 -44
  148. package/dist/Metrics/MetricsClient.js +6 -86
  149. package/dist/Metrics/MetricsClient.js.map +1 -1
  150. package/dist/Metrics/metrics.d.ts +2 -82
  151. package/dist/Metrics/metrics.js +4 -238
  152. package/dist/Metrics/metrics.js.map +1 -1
  153. package/dist/Metrics/processSocketsMetrics.d.ts +4 -10
  154. package/dist/Metrics/processSocketsMetrics.js +17 -88
  155. package/dist/Metrics/processSocketsMetrics.js.map +1 -1
  156. package/dist/Service/dbConnections.d.ts +1 -1
  157. package/dist/Service/metrics/connections.js +7 -7
  158. package/dist/Service/metrics/connections.js.map +1 -1
  159. package/dist/ThirdParty/connection.d.ts +0 -11
  160. package/package.json +5 -9
  161. package/dist/AMQP/IAMQPPool.d.ts +0 -5
  162. package/dist/AMQP/IAMQPPool.js +0 -3
  163. package/dist/AMQP/IAMQPPool.js.map +0 -1
  164. package/dist/Events/genericGracefulExit.d.ts +0 -11
  165. package/dist/Events/genericGracefulExit.js +0 -90
  166. package/dist/Events/genericGracefulExit.js.map +0 -1
  167. package/dist/GenericPool/options.d.ts +0 -63
  168. package/dist/GenericPool/options.js +0 -3
  169. package/dist/GenericPool/options.js.map +0 -1
  170. package/dist/Metrics/deviceConsumerMetrics.d.ts +0 -6
  171. package/dist/Metrics/deviceConsumerMetrics.js +0 -59
  172. package/dist/Metrics/deviceConsumerMetrics.js.map +0 -1
  173. package/dist/Metrics/eventConsumerMetrics.d.ts +0 -19
  174. package/dist/Metrics/eventConsumerMetrics.js +0 -52
  175. package/dist/Metrics/eventConsumerMetrics.js.map +0 -1
  176. package/dist/Metrics/eventQueueMetrics.d.ts +0 -7
  177. package/dist/Metrics/eventQueueMetrics.js +0 -19
  178. package/dist/Metrics/eventQueueMetrics.js.map +0 -1
  179. package/dist/Pool/IBasePool.d.ts +0 -6
  180. package/dist/Pool/IBasePool.js +0 -3
  181. package/dist/Pool/IBasePool.js.map +0 -1
  182. package/dist/System/signalSender.d.ts +0 -1
  183. package/dist/System/signalSender.js +0 -7
  184. package/dist/System/signalSender.js.map +0 -1
@@ -1,84 +1,4 @@
1
- import { EventEmitter } from 'events';
2
- export declare const NOT_PREDEFINED_VALUE = "NOT_PREDEFINED_VALUE";
3
- export type TNOT_PREDEFINED_VALUE = typeof NOT_PREDEFINED_VALUE;
4
- export type TMetricsConfig<TMetricsTypes extends string = '', TLabelsTypes extends Record<string, readonly string[] | 'NOT_PREDEFINED_VALUE'> = {}> = {
5
- [key in TMetricsTypes]: {
6
- metric: TMetricsClasses;
7
- labels?: Partial<TLabelsTypes>;
8
- help?: string;
9
- buckets?: number[];
10
- method?: 'inc' | 'dec' | 'set' | 'observe';
11
- name?: string;
12
- };
13
- };
14
- export type TMetricsClasses = 'Counter' | 'Histogram' | 'Gauge';
15
1
  /**
16
- * Create instance of a EventEmitter for emitting prometheus metrics ( https://prometheus.io/ )
17
- *
18
- * This single common implementation aims to provide a common implementation
19
- * that all services can use.
20
- *
21
- * @param metricsConfig - configuration for all allowed AND required metrics
22
- * @param prefix - string prefix added to all metrics names
23
- *
24
- * -------
25
- *
26
- * Metrics configuration
27
- *
28
- * ```typescript
29
- * // allowed AND required metrics
30
- * type TMetricsEvents = 'metric_counter_inc_with_label' | 'metric_counter_inc_with_label_and_value';
31
- *
32
- * const type1Labels = ['type1_label1', 'type1_label2', 'type1_label3'] as const;
33
- *
34
- * // allowed labels
35
- * type TLabelsTypes = {
36
- * type1: typeof type1Labels;
37
- * };
38
- *
39
- * let metricsConfig: TMetricsConfig<TMetricsEvents, TLabelsTypes> = {
40
- * metric_counter_inc_with_label: {
41
- * // metrics type (one of Counter, Gauge, Histogram)
42
- * metric: Counter,
43
- * help: 'metric_counter_inc help',
44
- * // metrics method
45
- * method: 'inc',
46
- * // allowed labels
47
- * labels: { type1: type1Labels },
48
- * // metrics name - `key` of this configuration is used if not provided (`metric_counter_inc_with_label` in this case)
49
- * name: 'some_name',
50
- * },
51
- * }
52
- *
53
- * const metrics = new Metrics<TMetricsEvents, TLabelsTypes>({ metricsConfig, prefix: 'sos_test_' });
54
- *
55
- * ```
56
- *
57
- * -------
58
- *
59
- * Emit metrics:
60
- *
61
- * ```typescript
62
- * metrics.emit('metric_counter_inc_with_label', { type1: 'type1_label1' }, 10);
63
- * metrics.emit('metric_counter_inc_with_label', { type1: 'type1_label1' });
64
- * metrics.emit('metric_counter_inc_with_label', 10);
65
- * ```
2
+ * @deprecated Use `@signageos/metrics` instead.
66
3
  */
67
- export declare class Metrics<TMetricsTypes extends string, TLabelsTypes extends Record<string, readonly string[] | TNOT_PREDEFINED_VALUE>> extends EventEmitter {
68
- private metricsConfig;
69
- private metrics;
70
- private prefix?;
71
- constructor({ metricsConfig, prefix }: {
72
- metricsConfig: TMetricsConfig<TMetricsTypes, TLabelsTypes>;
73
- prefix?: string;
74
- });
75
- emit(eventName: TMetricsTypes, labels: {
76
- [key in keyof TLabelsTypes]?: TLabelsTypes[key][number];
77
- }, value?: number, method?: 'inc' | 'dec' | 'set' | 'observe'): boolean;
78
- emit(eventName: TMetricsTypes, value?: number): boolean;
79
- on(eventName: TMetricsTypes, listener: (labels?: Partial<Record<keyof TLabelsTypes, string>>, value?: number, method?: 'inc' | 'dec' | 'set' | 'observe') => void): this;
80
- private getMetricsClass;
81
- private registerMetrics;
82
- private validateLabels;
83
- private getMetricsMethod;
84
- }
4
+ export * from '@signageos/metrics/dist/metrics';
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
3
  if (k2 === undefined) k2 = k;
19
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -25,231 +10,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
25
10
  if (k2 === undefined) k2 = k;
26
11
  o[k2] = m[k];
27
12
  }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
39
15
  };
40
16
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.Metrics = exports.NOT_PREDEFINED_VALUE = void 0;
42
- var events_1 = require("events");
43
- var prom_client_1 = require("prom-client");
44
- var prometheusClient = __importStar(require("prom-client"));
45
- exports.NOT_PREDEFINED_VALUE = 'NOT_PREDEFINED_VALUE';
46
17
  /**
47
- * Create instance of a EventEmitter for emitting prometheus metrics ( https://prometheus.io/ )
48
- *
49
- * This single common implementation aims to provide a common implementation
50
- * that all services can use.
51
- *
52
- * @param metricsConfig - configuration for all allowed AND required metrics
53
- * @param prefix - string prefix added to all metrics names
54
- *
55
- * -------
56
- *
57
- * Metrics configuration
58
- *
59
- * ```typescript
60
- * // allowed AND required metrics
61
- * type TMetricsEvents = 'metric_counter_inc_with_label' | 'metric_counter_inc_with_label_and_value';
62
- *
63
- * const type1Labels = ['type1_label1', 'type1_label2', 'type1_label3'] as const;
64
- *
65
- * // allowed labels
66
- * type TLabelsTypes = {
67
- * type1: typeof type1Labels;
68
- * };
69
- *
70
- * let metricsConfig: TMetricsConfig<TMetricsEvents, TLabelsTypes> = {
71
- * metric_counter_inc_with_label: {
72
- * // metrics type (one of Counter, Gauge, Histogram)
73
- * metric: Counter,
74
- * help: 'metric_counter_inc help',
75
- * // metrics method
76
- * method: 'inc',
77
- * // allowed labels
78
- * labels: { type1: type1Labels },
79
- * // metrics name - `key` of this configuration is used if not provided (`metric_counter_inc_with_label` in this case)
80
- * name: 'some_name',
81
- * },
82
- * }
83
- *
84
- * const metrics = new Metrics<TMetricsEvents, TLabelsTypes>({ metricsConfig, prefix: 'sos_test_' });
85
- *
86
- * ```
87
- *
88
- * -------
89
- *
90
- * Emit metrics:
91
- *
92
- * ```typescript
93
- * metrics.emit('metric_counter_inc_with_label', { type1: 'type1_label1' }, 10);
94
- * metrics.emit('metric_counter_inc_with_label', { type1: 'type1_label1' });
95
- * metrics.emit('metric_counter_inc_with_label', 10);
96
- * ```
18
+ * @deprecated Use `@signageos/metrics` instead.
97
19
  */
98
- var Metrics = /** @class */ (function (_super) {
99
- __extends(Metrics, _super);
100
- function Metrics(_a) {
101
- var metricsConfig = _a.metricsConfig, prefix = _a.prefix;
102
- var _this = _super.call(this) || this;
103
- _this.metrics = {};
104
- _this.metricsConfig = metricsConfig;
105
- _this.prefix = prefix;
106
- var _loop_1 = function (metricsConfigName) {
107
- this_1.on(metricsConfigName, function () {
108
- if (process.env.NODE_ENV !== 'test') {
109
- console.error("No registered metrics for: '".concat(metricsConfigName, "'"));
110
- }
111
- });
112
- };
113
- var this_1 = this;
114
- for (var metricsConfigName in _this.metricsConfig) {
115
- _loop_1(metricsConfigName);
116
- }
117
- _this.registerMetrics({ register: prometheusClient.register });
118
- return _this;
119
- }
120
- Metrics.prototype.emit = function (eventName, labelsOrValueOrMethod, valueOrMethod, method) {
121
- if (typeof labelsOrValueOrMethod === 'number') {
122
- return _super.prototype.emit.call(this, eventName, undefined, labelsOrValueOrMethod, method);
123
- }
124
- else if (typeof valueOrMethod === 'number') {
125
- return _super.prototype.emit.call(this, eventName, labelsOrValueOrMethod, valueOrMethod, method);
126
- }
127
- else {
128
- return _super.prototype.emit.call(this, eventName, labelsOrValueOrMethod, valueOrMethod, method);
129
- }
130
- };
131
- Metrics.prototype.on = function (eventName, listener) {
132
- return _super.prototype.on.call(this, eventName, listener);
133
- };
134
- Metrics.prototype.getMetricsClass = function (_a) {
135
- var className = _a.className;
136
- switch (className) {
137
- case 'Counter':
138
- return prom_client_1.Counter;
139
- case 'Gauge':
140
- return prom_client_1.Gauge;
141
- case 'Histogram':
142
- return prom_client_1.Histogram;
143
- default:
144
- throw new Error("Unknown metrics type: ".concat(className));
145
- }
146
- };
147
- Metrics.prototype.registerMetrics = function (_a) {
148
- var _this = this;
149
- var register = _a.register;
150
- var _loop_2 = function (metricsConfigName) {
151
- var metricsName = "".concat(this_2.prefix ? this_2.prefix : '').concat(this_2.metricsConfig[metricsConfigName].name ? this_2.metricsConfig[metricsConfigName].name : metricsConfigName);
152
- var metricsMethod = this_2.getMetricsMethod({ metricsConfigName: metricsConfigName });
153
- var metricsClass = this_2.getMetricsClass({ className: this_2.metricsConfig[metricsConfigName].metric });
154
- this_2.metrics[metricsConfigName] = new metricsClass({
155
- name: metricsName,
156
- help: this_2.metricsConfig[metricsConfigName].help || '',
157
- registers: [register],
158
- buckets: this_2.metricsConfig[metricsConfigName].buckets,
159
- labelNames: Object.keys(this_2.metricsConfig[metricsConfigName].labels || {}),
160
- });
161
- if (!this_2.metrics[metricsConfigName][metricsMethod]) {
162
- throw new Error("Invalid metrics: ".concat(this_2.metricsConfig[metricsConfigName].metric, " has no ").concat(this_2.metricsConfig[metricsConfigName].method, " method"));
163
- }
164
- this_2.removeAllListeners(metricsConfigName);
165
- this_2.on(metricsConfigName, function (labels, value, method) {
166
- try {
167
- _this.validateLabels({ labels: labels, metricsName: metricsConfigName });
168
- }
169
- catch (validationError) {
170
- console.error(validationError.message);
171
- return;
172
- }
173
- try {
174
- if (labels !== undefined && value !== undefined) {
175
- _this.metrics[metricsConfigName][method || metricsMethod](labels, value);
176
- }
177
- else if (labels !== undefined) {
178
- _this.metrics[metricsConfigName][method || metricsMethod](labels);
179
- }
180
- else if (value !== undefined) {
181
- _this.metrics[metricsConfigName][method || metricsMethod](value);
182
- }
183
- else {
184
- _this.metrics[metricsConfigName][method || metricsMethod]();
185
- }
186
- }
187
- catch (metricsError) {
188
- console.error("".concat(metricsConfigName, ": ").concat(metricsError.message));
189
- return;
190
- }
191
- });
192
- };
193
- var this_2 = this;
194
- for (var metricsConfigName in this.metricsConfig) {
195
- _loop_2(metricsConfigName);
196
- }
197
- };
198
- Metrics.prototype.validateLabels = function (_a) {
199
- var labels = _a.labels, metricsName = _a.metricsName;
200
- if (!labels) {
201
- return true;
202
- }
203
- for (var labelName in labels) {
204
- if (this.metricsConfig[metricsName].labels[labelName] === exports.NOT_PREDEFINED_VALUE) {
205
- continue;
206
- }
207
- if (!this.metricsConfig[metricsName].labels[labelName].includes(labels[labelName])) {
208
- throw new Error("Unknown label '".concat(labelName, "' for metrics '").concat(metricsName, "'"));
209
- }
210
- }
211
- return true;
212
- };
213
- Metrics.prototype.getMetricsMethod = function (_a) {
214
- var metricsConfigName = _a.metricsConfigName;
215
- var errorMessage;
216
- var metricClassName = this.metricsConfig[metricsConfigName].metric;
217
- if (metricClassName === 'Counter') {
218
- if (['inc'].includes(this.metricsConfig[metricsConfigName].method || 'inc')) {
219
- return this.metricsConfig[metricsConfigName].method || 'inc';
220
- }
221
- else {
222
- errorMessage = "'method ".concat(this.metricsConfig[metricsConfigName].method, "' not allowed for 'Counter'");
223
- }
224
- }
225
- if (metricClassName === 'Gauge') {
226
- if (['inc', 'dec', 'set'].includes(this.metricsConfig[metricsConfigName].method || 'inc')) {
227
- return this.metricsConfig[metricsConfigName].method || 'inc';
228
- }
229
- else {
230
- errorMessage = "'method ".concat(this.metricsConfig[metricsConfigName].method, "' not allowed for 'Gaude'");
231
- }
232
- }
233
- if (metricClassName === 'Histogram') {
234
- if (['observe'].includes(this.metricsConfig[metricsConfigName].method || 'observe')) {
235
- if (!this.metricsConfig[metricsConfigName].buckets) {
236
- errorMessage = "'buckets' configuration is required}";
237
- }
238
- else {
239
- return this.metricsConfig[metricsConfigName].method || 'observe';
240
- }
241
- }
242
- else {
243
- errorMessage = "'method ".concat(this.metricsConfig[metricsConfigName].method, "' not allowed for 'Histogram'");
244
- }
245
- if (this.metricsConfig[metricsConfigName].metric === 'Histogram' && this.metricsConfig[metricsConfigName].buckets) {
246
- return 'observe';
247
- }
248
- }
249
- errorMessage !== null && errorMessage !== void 0 ? errorMessage : (errorMessage = "unknown metrics '".concat(this.metricsConfig[metricsConfigName].metric, "'"));
250
- throw new Error("Configuration error for '".concat(metricsConfigName, "' : ").concat(errorMessage));
251
- };
252
- return Metrics;
253
- }(events_1.EventEmitter));
254
- exports.Metrics = Metrics;
20
+ __exportStar(require("@signageos/metrics/dist/metrics"), exports);
255
21
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/Metrics/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/Metrics/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,kEAAgD"}
@@ -1,10 +1,4 @@
1
- import { Registry } from 'prom-client';
2
- declare const defaultConfig: {
3
- prefix: string;
4
- registry: Registry | undefined;
5
- process: NodeJS.Process;
6
- };
7
- export type Config = typeof defaultConfig;
8
- export declare const metricNames: string[];
9
- export declare const collectSocketMetrics: (cfg?: Partial<Config>) => void;
10
- export {};
1
+ /**
2
+ * @deprecated Use `@signageos/metrics` instead.
3
+ */
4
+ export * from '@signageos/metrics/dist/processSocketsMetrics';
@@ -1,92 +1,21 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.collectSocketMetrics = exports.metricNames = void 0;
15
- var http_1 = require("http");
16
- var prom_client_1 = require("prom-client");
17
- var NODEJS_ACTIVE_SOCKETS = 'nodejs_active_sockets';
18
- var defaultConfig = {
19
- prefix: 'sos_',
20
- registry: undefined,
21
- process: process,
22
- };
23
- exports.metricNames = [NODEJS_ACTIVE_SOCKETS];
24
- var collectSocketMetrics = function (cfg) {
25
- if (cfg === void 0) { cfg = {}; }
26
- var config = __assign(__assign({}, defaultConfig), cfg);
27
- if (typeof config.process._getActiveHandles !== 'function') {
28
- return;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
29
7
  }
30
- var processExt = process;
31
- var registers = config.registry ? [config.registry] : undefined;
32
- var namePrefix = config.prefix ? config.prefix : '';
33
- var localServerPorts = new Set();
34
- var socketMapper = function (socket) {
35
- var _a;
36
- return socket.localPort
37
- ? localServerPorts.has((_a = socket.localPort) !== null && _a !== void 0 ? _a : 0)
38
- ? "local:".concat(socket === null || socket === void 0 ? void 0 : socket.localPort)
39
- : (socket === null || socket === void 0 ? void 0 : socket.remotePort)
40
- ? "remote:".concat(socket === null || socket === void 0 ? void 0 : socket.remotePort)
41
- : null
42
- : null;
43
- };
44
- var mappers = {
45
- TCP: socketMapper,
46
- TLSSocket: socketMapper,
47
- Socket: socketMapper,
48
- Server: function (server) {
49
- if (server instanceof http_1.Server) {
50
- var address = server.address();
51
- if (address && typeof address === 'object') {
52
- localServerPorts.add(address.port);
53
- }
54
- }
55
- // Server will be not accounted in resulted metrics
56
- return null;
57
- },
58
- };
59
- function collect() {
60
- // prepare
61
- this.reset();
62
- localServerPorts.clear();
63
- // fetch handles
64
- var activeHandles = processExt._getActiveHandles();
65
- var sockets = activeHandles.reduce(function (acc, handle) {
66
- var _a, _b, _c, _d;
67
- var name = (_b = (_a = handle === null || handle === void 0 ? void 0 : handle.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'unknown';
68
- var label = (_c = mappers[name]) === null || _c === void 0 ? void 0 : _c.call(mappers, handle);
69
- // output only socket-like handles, for the rest class name based accumulator present
70
- // in default prom metrics will suffice
71
- // we want this extra information (IPs) from socket handles, so we could easyly identify
72
- // which kind of connection is hanging
73
- if (label) {
74
- var key = "".concat(name, ":").concat(label);
75
- acc[key] = ((_d = acc[key]) !== null && _d !== void 0 ? _d : 0) + 1;
76
- }
77
- return acc;
78
- }, {});
79
- for (var key in sockets) {
80
- this.labels({ socket: key }).set(sockets[key]);
81
- }
82
- }
83
- new prom_client_1.Gauge({
84
- name: namePrefix + NODEJS_ACTIVE_SOCKETS,
85
- help: 'curent counts of sockets by local/remote ports',
86
- labelNames: ['socket'],
87
- registers: registers,
88
- collect: collect,
89
- });
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
90
15
  };
91
- exports.collectSocketMetrics = collectSocketMetrics;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @deprecated Use `@signageos/metrics` instead.
19
+ */
20
+ __exportStar(require("@signageos/metrics/dist/processSocketsMetrics"), exports);
92
21
  //# sourceMappingURL=processSocketsMetrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processSocketsMetrics.js","sourceRoot":"","sources":["../../src/Metrics/processSocketsMetrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6BAA8B;AAE9B,2CAA8C;AAG9C,IAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,IAAM,aAAa,GAAG;IACrB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,SAAiC;IAC3C,OAAO,SAAA;CACP,CAAC;AAGW,QAAA,WAAW,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE5C,IAAM,oBAAoB,GAAG,UAAC,GAAyB;IAAzB,oBAAA,EAAA,QAAyB;IAC7D,IAAM,MAAM,yBAAQ,aAAa,GAAK,GAAG,CAAE,CAAC;IAC5C,IAAI,OAAQ,MAAM,CAAC,OAA2B,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACjF,OAAO;IACR,CAAC;IAED,IAAM,UAAU,GAAG,OAA0B,CAAC;IAC9C,IAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtD,IAAM,gBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEhD,IAAM,YAAY,GAAG,UAAC,MAA0B;;QAC/C,OAAA,MAAM,CAAC,SAAS;YACf,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,CAAC,CAAC;gBAC5C,CAAC,CAAC,gBAAS,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAE;gBAC9B,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU;oBACnB,CAAC,CAAC,iBAAU,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAE;oBAChC,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,IAAI,CAAA;KAAA,CAAC;IAET,IAAM,OAAO,GAAG;QACf,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,UAAC,MAAW;YACnB,IAAI,MAAM,YAAY,aAAM,EAAE,CAAC;gBAC9B,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC5C,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YACD,mDAAmD;YACnD,OAAO,IAAI,CAAC;QACb,CAAC;KACU,CAAC;IAEb,SAAS,OAAO;QACf,UAAU;QACV,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,gBAAgB;QAChB,IAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAErD,IAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,GAAc,EAAE,MAA0C;;YAC/F,IAAM,IAAI,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,IAAI,mCAAI,SAAS,CAAC;YACpD,IAAM,KAAK,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,wDAAG,MAAM,CAAC,CAAC;YACtC,qFAAqF;YACrF,uCAAuC;YACvC,wFAAwF;YACxF,sCAAsC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACX,IAAM,GAAG,GAAG,UAAG,IAAI,cAAI,KAAK,CAAE,CAAC;gBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAA,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAe,CAAc,CAAC;QAEjC,KAAK,IAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,IAAI,mBAAK,CAAC;QACT,IAAI,EAAE,UAAU,GAAG,qBAAqB;QACxC,IAAI,EAAE,gDAAgD;QACtD,UAAU,EAAE,CAAC,QAAQ,CAAU;QAC/B,SAAS,WAAA;QACT,OAAO,SAAA;KACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAvEW,QAAA,oBAAoB,wBAuE/B"}
1
+ {"version":3,"file":"processSocketsMetrics.js","sourceRoot":"","sources":["../../src/Metrics/processSocketsMetrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,gFAA8D"}
@@ -1,4 +1,4 @@
1
- import { IAMQPConnection } from '../AMQP/amqpConnectionFactory';
1
+ import { IAMQPConnection } from '@signageos/amqp/dist/amqpConnectionFactory';
2
2
  import { IMongodbConnection } from '../MongoDB/mongoDBConnectionFactory';
3
3
  import { IRedisConnection } from '../Redis/redisConnectionFactory';
4
4
  export interface DBConnections {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initDbConnectionsMetrics = initDbConnectionsMetrics;
4
- var connection_1 = require("../../ThirdParty/connection");
4
+ var amqpConnectionFactory_1 = require("@signageos/amqp/dist/amqpConnectionFactory");
5
5
  var mongodb_1 = require("./mongodb");
6
6
  var redis_1 = require("./redis");
7
7
  function initDbConnectionsMetrics(connections, metricsClient) {
8
8
  if (connections.amqp) {
9
- initMetricsForDBType(metricsClient, 'amqp', connections.amqp);
9
+ initMetricsForAMQPConnection(metricsClient, 'amqp', connections.amqp);
10
10
  }
11
11
  if (connections.redis) {
12
12
  (0, redis_1.initRedisDBConnectionsMetrics)(connections.redis);
@@ -15,7 +15,7 @@ function initDbConnectionsMetrics(connections, metricsClient) {
15
15
  (0, mongodb_1.initMongoDBConnectionsMetrics)(connections.mongodb);
16
16
  }
17
17
  }
18
- function initMetricsForDBType(metricsClient, dbName, connections) {
18
+ function initMetricsForAMQPConnection(metricsClient, dbName, connections) {
19
19
  var client = metricsClient.getClient();
20
20
  for (var _i = 0, _a = Object.keys(connections); _i < _a.length; _i++) {
21
21
  var connName = _a[_i];
@@ -29,18 +29,18 @@ function initMetricsForDBType(metricsClient, dbName, connections) {
29
29
  name: metricPrefix + 'close',
30
30
  help: "Count of closed ".concat(dbName, " connections for the entire runtime history"),
31
31
  });
32
- updateMetricWithConnection(connection, openMetric, closeMetric);
32
+ updateMetricWithAMQPConnection(connection, openMetric, closeMetric);
33
33
  }
34
34
  }
35
35
  /**
36
36
  * @deprecated
37
37
  * see: packages/lib/src/ThirdParty/connection.ts
38
38
  **/
39
- function updateMetricWithConnection(connection, openMetric, closeMetric) {
40
- connection.addListener(connection_1.ThirdPartyConnectionEvent.ConnectionOpen, function () {
39
+ function updateMetricWithAMQPConnection(connection, openMetric, closeMetric) {
40
+ connection.addListener(amqpConnectionFactory_1.ConnectionEvent.ConnectionOpen, function () {
41
41
  openMetric.inc();
42
42
  });
43
- connection.addListener(connection_1.ThirdPartyConnectionEvent.ConnectionClosed, function () {
43
+ connection.addListener(amqpConnectionFactory_1.ConnectionEvent.ConnectionClosed, function () {
44
44
  closeMetric.inc();
45
45
  });
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/Service/metrics/connections.ts"],"names":[],"mappings":";;AAOA,4DAUC;AAfD,0DAA+F;AAE/F,qCAA0D;AAC1D,iCAAwD;AAExD,SAAgB,wBAAwB,CAAC,WAA0B,EAAE,aAA6B;IACjG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,IAAA,qCAA6B,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,IAAA,uCAA6B,EAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,aAA6B,EAAE,MAAc,EAAE,WAAkD;IAC9H,IAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAEzC,KAAuB,UAAwB,EAAxB,KAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAxB,cAAwB,EAAxB,IAAwB,EAAE,CAAC;QAA7C,IAAM,QAAQ,SAAA;QAClB,IAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAM,YAAY,GAAG,qCAA8B,MAAM,cAAI,QAAQ,MAAG,CAAC;QAEzE,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,EAAE,YAAY,GAAG,MAAM;YAC3B,IAAI,EAAE,wBAAiB,MAAM,gDAA6C;SAC1E,CAAC,CAAC;QACH,IAAM,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YACpC,IAAI,EAAE,YAAY,GAAG,OAAO;YAC5B,IAAI,EAAE,0BAAmB,MAAM,gDAA6C;SAC5E,CAAC,CAAC;QAEH,0BAA0B,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;AACF,CAAC;AAED;;;IAGI;AACJ,SAAS,0BAA0B,CAAC,UAAiC,EAAE,UAAiB,EAAE,WAAkB;IAC3G,UAAU,CAAC,WAAW,CAAC,sCAAyB,CAAC,cAAc,EAAE;QAChE,UAAU,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,WAAW,CAAC,sCAAyB,CAAC,gBAAgB,EAAE;QAClE,WAAW,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/Service/metrics/connections.ts"],"names":[],"mappings":";;AAOA,4DAUC;AAfD,oFAA8F;AAE9F,qCAA0D;AAC1D,iCAAwD;AAExD,SAAgB,wBAAwB,CAAC,WAA0B,EAAE,aAA6B;IACjG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,IAAA,qCAA6B,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,IAAA,uCAA6B,EAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED,SAAS,4BAA4B,CAAC,aAA6B,EAAE,MAAc,EAAE,WAA4C;IAChI,IAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAEzC,KAAuB,UAAwB,EAAxB,KAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAxB,cAAwB,EAAxB,IAAwB,EAAE,CAAC;QAA7C,IAAM,QAAQ,SAAA;QAClB,IAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAM,YAAY,GAAG,qCAA8B,MAAM,cAAI,QAAQ,MAAG,CAAC;QAEzE,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,EAAE,YAAY,GAAG,MAAM;YAC3B,IAAI,EAAE,wBAAiB,MAAM,gDAA6C;SAC1E,CAAC,CAAC;QACH,IAAM,WAAW,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;YACpC,IAAI,EAAE,YAAY,GAAG,OAAO;YAC5B,IAAI,EAAE,0BAAmB,MAAM,gDAA6C;SAC5E,CAAC,CAAC;QAEH,8BAA8B,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;AACF,CAAC;AAED;;;IAGI;AACJ,SAAS,8BAA8B,CAAC,UAA2B,EAAE,UAAiB,EAAE,WAAkB;IACzG,UAAU,CAAC,WAAW,CAAC,uCAAe,CAAC,cAAc,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,WAAW,CAAC,uCAAe,CAAC,gBAAgB,EAAE;QACxD,WAAW,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -3,17 +3,6 @@ export declare enum ThirdPartyConnectionEvent {
3
3
  ConnectionOpen = "connection_open",
4
4
  ConnectionClosed = "connection_closed"
5
5
  }
6
- /**
7
- * @deprecated
8
- * This interface was originally meant as abstraction to easier export third party connections to metrics.
9
- * Now, instead, the remaining connections that implement this interface should be rewritten to export metrics directly,
10
- * similarly to how MongoDBConnection does it.
11
- * This interface will be removed in the future.
12
- */
13
- export interface IThirdPartyConnection extends IConnection {
14
- addListener: (event: ThirdPartyConnectionEvent, listener: () => void) => void;
15
- removeListener: (event: ThirdPartyConnectionEvent, listener: () => void) => void;
16
- }
17
6
  export interface IConnection<TExporter = {}> {
18
7
  connect: () => Promise<void>;
19
8
  close: () => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signageos/lib",
3
- "version": "23.9.1",
3
+ "version": "23.9.2",
4
4
  "main": "./dist",
5
5
  "type": "commonjs",
6
6
  "files": [
@@ -26,7 +26,6 @@
26
26
  "test": "NODE_ENV=test mocha",
27
27
  "test:coverage": "c8 npm run test",
28
28
  "test-connections": "NODE_ENV=test mocha --allow-uncaught --config .mocharc.connections.js",
29
- "test-rabbit-connection": "NODE_ENV=test mocha --config .mocharc.connections-rabbit.js",
30
29
  "test:benchmark": "NODE_ENV=test mocha --config .mocharc.benchmark.js",
31
30
  "watch": "tsc --watch",
32
31
  "check": "npm run depcheck && ../../tools/check-deps",
@@ -39,8 +38,10 @@
39
38
  "author": "Michael Zabka <zabka.michael@gmail.com>",
40
39
  "license": "MIT",
41
40
  "dependencies": {
42
- "@signageos/core": "0.0.1",
43
- "@signageos/lib-ci": "23.9.1",
41
+ "@signageos/amqp": "0.0.1",
42
+ "@signageos/core": "0.0.6",
43
+ "@signageos/lib-ci": "23.9.2",
44
+ "@signageos/metrics": "0.0.5",
44
45
  "async-lock": "1.4.0",
45
46
  "auth0": "4.4.1",
46
47
  "basic-auth": "2.0.1",
@@ -52,7 +53,6 @@
52
53
  "express-prom-bundle": "8.0.0",
53
54
  "file-type": "16.5.4",
54
55
  "fs-extra": "11.2.0",
55
- "generic-pool": "3.1.7",
56
56
  "http-status": "2.0.0",
57
57
  "isomorphic-ws": "4.0.1",
58
58
  "lodash": "4.17.21",
@@ -66,7 +66,6 @@
66
66
  "rsync": "0.6.1",
67
67
  "semver": "7.7.1",
68
68
  "tar": "7.0.1",
69
- "timeout-ts": "0.6.0",
70
69
  "tmp": "0.2.1",
71
70
  "ts-brand": "0.0.2",
72
71
  "winston": "3.11.0",
@@ -78,7 +77,6 @@
78
77
  "@aws-sdk/s3-request-presigner": "3.489.0",
79
78
  "aws-sdk": "^2.1472.0",
80
79
  "@influxdata/influxdb-client": "1.16.0",
81
- "amqp10": "~3.5.0",
82
80
  "mocha": "^3.1.2",
83
81
  "redis": "^3.1.2",
84
82
  "mongoose": "^8.0.0",
@@ -101,7 +99,6 @@
101
99
  "@faker-js/faker": "8.3.1",
102
100
  "@influxdata/influxdb-client": "1.16.0",
103
101
  "@istanbuljs/nyc-config-typescript": "1.0.2",
104
- "@types/amqplib": "0.5.13",
105
102
  "@types/async-lock": "1.4.2",
106
103
  "@types/basic-auth": "1.1.8",
107
104
  "@types/css-tree": "2.3.5",
@@ -129,7 +126,6 @@
129
126
  "@types/tmp": "0.0.33",
130
127
  "@types/webpack": "5.28.1",
131
128
  "@types/ws": "8.5.10",
132
- "amqplib": "0.10.3",
133
129
  "assert": "2.1.0",
134
130
  "buffer": "6.0.3",
135
131
  "c8": "8.0.1",
@@ -1,5 +0,0 @@
1
- import { Connection } from 'amqplib';
2
- import IBasePool from '../Pool/IBasePool';
3
- export default IAMQPPool;
4
- interface IAMQPPool extends IBasePool<Connection> {
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IAMQPPool.js.map