@conduitplatform/module-tools 0.16.0-alpha.9 → 0.16.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.
Files changed (66) hide show
  1. package/dist/ManagedModule.d.ts +1 -0
  2. package/dist/ManagedModule.js +153 -358
  3. package/dist/ManagedModule.js.map +1 -1
  4. package/dist/classes/ConduitActiveSchema.d.ts +12 -9
  5. package/dist/classes/ConduitActiveSchema.js +43 -52
  6. package/dist/classes/ConduitActiveSchema.js.map +1 -1
  7. package/dist/classes/ConduitServiceModule.d.ts +2 -0
  8. package/dist/classes/ConduitServiceModule.js +65 -112
  9. package/dist/classes/ConduitServiceModule.js.map +1 -1
  10. package/dist/classes/ConfigController.js +10 -17
  11. package/dist/classes/ConfigController.js.map +1 -1
  12. package/dist/classes/GrpcServer.d.ts +1 -0
  13. package/dist/classes/GrpcServer.js +93 -172
  14. package/dist/classes/GrpcServer.js.map +1 -1
  15. package/dist/helpers/GrpcHelper.js +11 -11
  16. package/dist/helpers/GrpcHelper.js.map +1 -1
  17. package/dist/helpers/GrpcToParsedRouterRequest.d.ts +2 -0
  18. package/dist/helpers/GrpcToParsedRouterRequest.js +19 -0
  19. package/dist/helpers/GrpcToParsedRouterRequest.js.map +1 -0
  20. package/dist/helpers/TypeHelpers.js +57 -119
  21. package/dist/helpers/TypeHelpers.js.map +1 -1
  22. package/dist/helpers/index.d.ts +1 -0
  23. package/dist/helpers/index.js +1 -0
  24. package/dist/helpers/index.js.map +1 -1
  25. package/dist/helpers/wrapGrpcFunctions.js +14 -15
  26. package/dist/helpers/wrapGrpcFunctions.js.map +1 -1
  27. package/dist/interfaces/ModuleLifecycleStage.d.ts +7 -0
  28. package/dist/interfaces/ModuleLifecycleStage.js +12 -0
  29. package/dist/interfaces/ModuleLifecycleStage.js.map +1 -0
  30. package/dist/logging/index.js +80 -180
  31. package/dist/logging/index.js.map +1 -1
  32. package/dist/metrics/MetricsServer.d.ts +2 -1
  33. package/dist/metrics/MetricsServer.js +25 -70
  34. package/dist/metrics/MetricsServer.js.map +1 -1
  35. package/dist/metrics/clientMiddleware.js +76 -217
  36. package/dist/metrics/clientMiddleware.js.map +1 -1
  37. package/dist/metrics/config/defaults.js +1 -1
  38. package/dist/metrics/config/defaults.js.map +1 -1
  39. package/dist/metrics/index.js +53 -89
  40. package/dist/metrics/index.js.map +1 -1
  41. package/dist/module.proto +58 -0
  42. package/dist/routing/ProxyRouteBuilder.js +21 -24
  43. package/dist/routing/ProxyRouteBuilder.js.map +1 -1
  44. package/dist/routing/RouteBuilder.js +31 -34
  45. package/dist/routing/RouteBuilder.js.map +1 -1
  46. package/dist/routing/RoutingController.d.ts +8 -0
  47. package/dist/routing/RoutingController.js +25 -0
  48. package/dist/routing/RoutingController.js.map +1 -0
  49. package/dist/routing/RoutingManager.d.ts +5 -2
  50. package/dist/routing/RoutingManager.js +61 -115
  51. package/dist/routing/RoutingManager.js.map +1 -1
  52. package/dist/routing/RoutingUtilities.js +3 -3
  53. package/dist/routing/RoutingUtilities.js.map +1 -1
  54. package/dist/routing/wrapRouterFunctions.d.ts +5 -5
  55. package/dist/routing/wrapRouterFunctions.js +30 -39
  56. package/dist/routing/wrapRouterFunctions.js.map +1 -1
  57. package/dist/utilities/convictConfigParser.js +2 -2
  58. package/dist/utilities/convictConfigParser.js.map +1 -1
  59. package/dist/utilities/initializeSdk.js +9 -11
  60. package/dist/utilities/initializeSdk.js.map +1 -1
  61. package/dist/utilities/linearBackoffTimeout.d.ts +1 -1
  62. package/dist/utilities/linearBackoffTimeout.js +35 -92
  63. package/dist/utilities/linearBackoffTimeout.js.map +1 -1
  64. package/dist/utilities/merge.js +2 -2
  65. package/dist/utilities/merge.js.map +1 -1
  66. package/package.json +19 -20
@@ -1,195 +1,68 @@
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
- var __generator = (this && this.__generator) || function (thisArg, body) {
14
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
- function verb(n) { return function (v) { return step([n, v]); }; }
17
- function step(op) {
18
- if (f) throw new TypeError("Generator is already executing.");
19
- while (_) try {
20
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
- if (y = 0, t) op = [op[0] & 2, t.value];
22
- switch (op[0]) {
23
- case 0: case 1: t = op; break;
24
- case 4: _.label++; return { value: op[1], done: false };
25
- case 5: _.label++; y = op[1]; op = [0]; continue;
26
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
- default:
28
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
- if (t[2]) _.ops.pop();
33
- _.trys.pop(); continue;
34
- }
35
- op = body.call(thisArg, _);
36
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
- }
39
- };
40
- var __asyncValues = (this && this.__asyncValues) || function (o) {
41
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
42
- var m = o[Symbol.asyncIterator], i;
43
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
44
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
45
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
46
- };
47
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
48
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
49
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
50
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
51
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
52
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
53
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
54
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
55
- function fulfill(value) { resume("next", value); }
56
- function reject(value) { resume("throw", value); }
57
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
58
- };
59
- var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
60
- var i, p;
61
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
62
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
63
- };
64
- var __read = (this && this.__read) || function (o, n) {
65
- var m = typeof Symbol === "function" && o[Symbol.iterator];
66
- if (!m) return o;
67
- var i = m.call(o), r, ar = [], e;
68
- try {
69
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
- }
71
- catch (error) { e = { error: error }; }
72
- finally {
73
- try {
74
- if (r && !r.done && (m = i["return"])) m.call(i);
75
- }
76
- finally { if (e) throw e.error; }
77
- }
78
- return ar;
79
- };
80
- var __values = (this && this.__values) || function(o) {
81
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
82
- if (m) return m.call(o);
83
- if (o && typeof o.length === "number") return {
84
- next: function () {
85
- if (o && i >= o.length) o = void 0;
86
- return { value: o && o[i++], done: !o };
87
- }
88
- };
89
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
90
- };
91
2
  Object.defineProperty(exports, "__esModule", { value: true });
92
3
  exports.clientMiddleware = void 0;
93
4
  // Forked from nice-grpc-prometheus
94
- var abort_controller_x_1 = require("abort-controller-x");
95
- var nice_grpc_common_1 = require("nice-grpc-common");
96
- var prom_client_1 = require("prom-client");
97
- var registry = new prom_client_1.Registry();
98
- var typeLabel = 'grpc_type';
99
- var serviceLabel = 'grpc_service';
100
- var methodLabel = 'grpc_method';
101
- var pathLabel = 'grpc_path';
102
- var codeLabel = 'grpc_code';
5
+ const abort_controller_x_1 = require("abort-controller-x");
6
+ const nice_grpc_common_1 = require("nice-grpc-common");
7
+ const prom_client_1 = require("prom-client");
8
+ const registry = new prom_client_1.Registry();
9
+ const typeLabel = 'grpc_type';
10
+ const serviceLabel = 'grpc_service';
11
+ const methodLabel = 'grpc_method';
12
+ const pathLabel = 'grpc_path';
13
+ const codeLabel = 'grpc_code';
103
14
  /**
104
15
  * 1ms, 4ms, 16ms, ..., ~1 hour in seconds
105
16
  */
106
- var latencySecondsBuckets = (0, prom_client_1.exponentialBuckets)(0.001, 4, 12);
17
+ const latencySecondsBuckets = (0, prom_client_1.exponentialBuckets)(0.001, 4, 12);
107
18
  function getLabels(method) {
108
- var _a;
109
- var callType = method.requestStream
19
+ const callType = method.requestStream
110
20
  ? method.responseStream
111
21
  ? 'bidi_stream'
112
22
  : 'client_stream'
113
23
  : method.responseStream
114
24
  ? 'server_stream'
115
25
  : 'unary';
116
- var path = method.path;
117
- var _b = __read(path.split('/').slice(1), 2), serviceName = _b[0], methodName = _b[1];
118
- return _a = {},
119
- _a[typeLabel] = callType,
120
- _a[serviceLabel] = serviceName,
121
- _a[methodLabel] = methodName,
122
- _a[pathLabel] = path,
123
- _a;
26
+ const { path } = method;
27
+ const [serviceName, methodName] = path.split('/').slice(1);
28
+ return {
29
+ [typeLabel]: callType,
30
+ [serviceLabel]: serviceName,
31
+ [methodLabel]: methodName,
32
+ [pathLabel]: path,
33
+ };
124
34
  }
125
- function incrementStreamMessagesCounter(iterable, counter) {
126
- return __asyncGenerator(this, arguments, function incrementStreamMessagesCounter_1() {
127
- var iterable_1, iterable_1_1, item, e_1_1;
128
- var e_1, _a;
129
- return __generator(this, function (_b) {
130
- switch (_b.label) {
131
- case 0:
132
- _b.trys.push([0, 7, 8, 13]);
133
- iterable_1 = __asyncValues(iterable);
134
- _b.label = 1;
135
- case 1: return [4 /*yield*/, __await(iterable_1.next())];
136
- case 2:
137
- if (!(iterable_1_1 = _b.sent(), !iterable_1_1.done)) return [3 /*break*/, 6];
138
- item = iterable_1_1.value;
139
- counter.inc();
140
- return [4 /*yield*/, __await(item)];
141
- case 3: return [4 /*yield*/, _b.sent()];
142
- case 4:
143
- _b.sent();
144
- _b.label = 5;
145
- case 5: return [3 /*break*/, 1];
146
- case 6: return [3 /*break*/, 13];
147
- case 7:
148
- e_1_1 = _b.sent();
149
- e_1 = { error: e_1_1 };
150
- return [3 /*break*/, 13];
151
- case 8:
152
- _b.trys.push([8, , 11, 12]);
153
- if (!(iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return))) return [3 /*break*/, 10];
154
- return [4 /*yield*/, __await(_a.call(iterable_1))];
155
- case 9:
156
- _b.sent();
157
- _b.label = 10;
158
- case 10: return [3 /*break*/, 12];
159
- case 11:
160
- if (e_1) throw e_1.error;
161
- return [7 /*endfinally*/];
162
- case 12: return [7 /*endfinally*/];
163
- case 13: return [2 /*return*/];
164
- }
165
- });
166
- });
35
+ async function* incrementStreamMessagesCounter(iterable, counter) {
36
+ for await (const item of iterable) {
37
+ counter.inc();
38
+ yield item;
39
+ }
167
40
  }
168
- var clientStartedMetric = new prom_client_1.Counter({
41
+ const clientStartedMetric = new prom_client_1.Counter({
169
42
  registers: [registry],
170
43
  name: 'conduit_grpc_client_started_total',
171
44
  help: 'Total number of RPCs started on the client.',
172
45
  labelNames: [typeLabel, serviceLabel, methodLabel, pathLabel],
173
46
  });
174
- var clientHandledMetric = new prom_client_1.Counter({
47
+ const clientHandledMetric = new prom_client_1.Counter({
175
48
  registers: [registry],
176
49
  name: 'conduit_grpc_client_handled_total',
177
50
  help: 'Total number of RPCs completed on the client, regardless of success or failure.',
178
51
  labelNames: [typeLabel, serviceLabel, methodLabel, pathLabel, codeLabel],
179
52
  });
180
- var clientStreamMsgReceivedMetric = new prom_client_1.Counter({
53
+ const clientStreamMsgReceivedMetric = new prom_client_1.Counter({
181
54
  registers: [registry],
182
55
  name: 'conduit_grpc_client_msg_received_total',
183
56
  help: 'Total number of RPC stream messages received by the client.',
184
57
  labelNames: [typeLabel, serviceLabel, methodLabel, pathLabel],
185
58
  });
186
- var clientStreamMsgSentMetric = new prom_client_1.Counter({
59
+ const clientStreamMsgSentMetric = new prom_client_1.Counter({
187
60
  registers: [registry],
188
61
  name: 'conduit_grpc_client_msg_sent_total',
189
62
  help: 'Total number of gRPC stream messages sent by the client.',
190
63
  labelNames: [typeLabel, serviceLabel, methodLabel, pathLabel],
191
64
  });
192
- var clientHandlingSecondsMetric = new prom_client_1.Histogram({
65
+ const clientHandlingSecondsMetric = new prom_client_1.Histogram({
193
66
  registers: [registry],
194
67
  name: 'grpc_client_handling_seconds',
195
68
  help: 'Histogram of response latency (seconds) of the gRPC until it is finished by the application.',
@@ -197,68 +70,54 @@ var clientHandlingSecondsMetric = new prom_client_1.Histogram({
197
70
  buckets: latencySecondsBuckets,
198
71
  });
199
72
  function clientMiddleware() {
200
- return function prometheusClientMiddlewareGenerator(call, options) {
201
- return __asyncGenerator(this, arguments, function prometheusClientMiddlewareGenerator_1() {
202
- var labels, stopTimer, settled, status, request, response, err_1;
203
- var _a, _b;
204
- return __generator(this, function (_c) {
205
- switch (_c.label) {
206
- case 0:
207
- labels = getLabels(call.method);
208
- clientStartedMetric.inc(labels);
209
- stopTimer = clientHandlingSecondsMetric.startTimer(labels);
210
- settled = false;
211
- status = nice_grpc_common_1.Status.OK;
212
- _c.label = 1;
213
- case 1:
214
- _c.trys.push([1, 10, 11, 12]);
215
- request = void 0;
216
- if (!call.requestStream) {
217
- request = call.request;
218
- }
219
- else {
220
- request = incrementStreamMessagesCounter(call.request, clientStreamMsgSentMetric.labels(labels));
221
- }
222
- if (!!call.responseStream) return [3 /*break*/, 5];
223
- return [5 /*yield**/, __values(__asyncDelegator(__asyncValues(call.next(request, options))))];
224
- case 2: return [4 /*yield*/, __await.apply(void 0, [_c.sent()])];
225
- case 3:
226
- response = _c.sent();
227
- settled = true;
228
- return [4 /*yield*/, __await(response)];
229
- case 4: return [2 /*return*/, _c.sent()];
230
- case 5: return [5 /*yield**/, __values(__asyncDelegator(__asyncValues(incrementStreamMessagesCounter(call.next(request, options), clientStreamMsgReceivedMetric.labels(labels)))))];
231
- case 6: return [4 /*yield*/, __await.apply(void 0, [_c.sent()])];
232
- case 7:
233
- _c.sent();
234
- settled = true;
235
- return [4 /*yield*/, __await(void 0)];
236
- case 8: return [2 /*return*/, _c.sent()];
237
- case 9: return [3 /*break*/, 12];
238
- case 10:
239
- err_1 = _c.sent();
240
- settled = true;
241
- if (err_1 instanceof nice_grpc_common_1.ClientError) {
242
- status = err_1.code;
243
- }
244
- else if ((0, abort_controller_x_1.isAbortError)(err_1)) {
245
- status = nice_grpc_common_1.Status.ABORTED;
246
- }
247
- else {
248
- status = nice_grpc_common_1.Status.UNKNOWN;
249
- }
250
- throw err_1;
251
- case 11:
252
- if (!settled) {
253
- status = nice_grpc_common_1.Status.CANCELLED;
254
- }
255
- stopTimer((_a = {}, _a[codeLabel] = nice_grpc_common_1.Status[status], _a));
256
- clientHandledMetric.inc(__assign(__assign({}, labels), (_b = {}, _b[codeLabel] = nice_grpc_common_1.Status[status], _b)));
257
- return [7 /*endfinally*/];
258
- case 12: return [2 /*return*/];
259
- }
73
+ return async function* prometheusClientMiddlewareGenerator(call, options) {
74
+ const labels = getLabels(call.method);
75
+ clientStartedMetric.inc(labels);
76
+ const stopTimer = clientHandlingSecondsMetric.startTimer(labels);
77
+ let settled = false;
78
+ let status = nice_grpc_common_1.Status.OK;
79
+ try {
80
+ let request;
81
+ if (!call.requestStream) {
82
+ request = call.request;
83
+ }
84
+ else {
85
+ request = incrementStreamMessagesCounter(call.request, clientStreamMsgSentMetric.labels(labels));
86
+ }
87
+ if (!call.responseStream) {
88
+ const response = yield* call.next(request, options);
89
+ settled = true;
90
+ return response;
91
+ }
92
+ else {
93
+ yield* incrementStreamMessagesCounter(call.next(request, options), clientStreamMsgReceivedMetric.labels(labels));
94
+ settled = true;
95
+ return;
96
+ }
97
+ }
98
+ catch (err) {
99
+ settled = true;
100
+ if (err instanceof nice_grpc_common_1.ClientError) {
101
+ status = err.code;
102
+ }
103
+ else if ((0, abort_controller_x_1.isAbortError)(err)) {
104
+ status = nice_grpc_common_1.Status.ABORTED;
105
+ }
106
+ else {
107
+ status = nice_grpc_common_1.Status.UNKNOWN;
108
+ }
109
+ throw err;
110
+ }
111
+ finally {
112
+ if (!settled) {
113
+ status = nice_grpc_common_1.Status.CANCELLED;
114
+ }
115
+ stopTimer({ [codeLabel]: nice_grpc_common_1.Status[status] });
116
+ clientHandledMetric.inc({
117
+ ...labels,
118
+ [codeLabel]: nice_grpc_common_1.Status[status],
260
119
  });
261
- });
120
+ }
262
121
  };
263
122
  }
264
123
  exports.clientMiddleware = clientMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"clientMiddleware.js","sourceRoot":"","sources":["../../src/metrics/clientMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientMiddleware.js","sourceRoot":"","sources":["../../src/metrics/clientMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var grpc_sdk_1 = require("@conduitplatform/grpc-sdk");
3
+ const grpc_sdk_1 = require("@conduitplatform/grpc-sdk");
4
4
  exports.default = {
5
5
  internalGrpcRequests: {
6
6
  type: grpc_sdk_1.MetricType.Counter,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/metrics/config/defaults.ts"],"names":[],"mappings":";;AAAA,sDAAuD;AAEvD,kBAAe;IACb,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,6DAA6D;SACpE;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,qDAAqD;SAC5D;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,oDAAoD;SAC3D;KACF;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,+CAA+C;SACtD;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,8CAA8C;SACrD;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,uCAAuC;SAC9C;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,gDAAgD;SACvD;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,oCAAoC;YAC1C,IAAI,EAAE,sDAAsD;SAC7D;KACF;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;YAC3C,IAAI,EAAE,uDAAuD;SAC9D;KACF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,gDAAgD;YACtD,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,oCAAoC;YAC1C,IAAI,EAAE,sDAAsD;YAC5D,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;YAC3C,IAAI,EAAE,wDAAwD;YAC9D,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/metrics/config/defaults.ts"],"names":[],"mappings":";;AAAA,wDAAuD;AAEvD,kBAAe;IACb,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,6DAA6D;SACpE;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,qDAAqD;SAC5D;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,oDAAoD;SAC3D;KACF;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,+CAA+C;SACtD;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,8CAA8C;SACrD;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,uCAAuC;SAC9C;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,gDAAgD;SACvD;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,oCAAoC;YAC1C,IAAI,EAAE,sDAAsD;SAC7D;KACF;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,qBAAU,CAAC,KAAK;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;YAC3C,IAAI,EAAE,uDAAuD;SAC9D;KACF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,gDAAgD;YACtD,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,oCAAoC;YAC1C,IAAI,EAAE,sDAAsD;YAC5D,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,qBAAU,CAAC,OAAO;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,qCAAqC;YAC3C,IAAI,EAAE,wDAAwD;YAC9D,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF;CACF,CAAC"}
@@ -1,37 +1,15 @@
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
- var __values = (this && this.__values) || function(o) {
14
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
- if (m) return m.call(o);
16
- if (o && typeof o.length === "number") return {
17
- next: function () {
18
- if (o && i >= o.length) o = void 0;
19
- return { value: o && o[i++], done: !o };
20
- }
21
- };
22
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
- };
24
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
4
  };
27
5
  Object.defineProperty(exports, "__esModule", { value: true });
28
6
  exports.ConduitMetrics = void 0;
29
- var prom_client_1 = require("prom-client");
30
- var MetricsServer_1 = require("./MetricsServer");
31
- var defaults_1 = __importDefault(require("./config/defaults"));
32
- var grpc_sdk_1 = require("@conduitplatform/grpc-sdk");
33
- var ConduitMetrics = /** @class */ (function () {
34
- function ConduitMetrics(moduleName, instance) {
7
+ const prom_client_1 = require("prom-client");
8
+ const MetricsServer_1 = require("./MetricsServer");
9
+ const defaults_1 = __importDefault(require("./config/defaults"));
10
+ const grpc_sdk_1 = require("@conduitplatform/grpc-sdk");
11
+ class ConduitMetrics {
12
+ constructor(moduleName, instance) {
35
13
  this.moduleName = moduleName;
36
14
  this.instance = instance;
37
15
  this._registry = new prom_client_1.Registry();
@@ -43,26 +21,15 @@ var ConduitMetrics = /** @class */ (function () {
43
21
  this._httpServer = new MetricsServer_1.MetricsServer(moduleName, instance, this._registry);
44
22
  this._httpServer.initialize();
45
23
  }
46
- ConduitMetrics.prototype.initializeDefaultMetrics = function () {
47
- var e_1, _a;
48
- try {
49
- for (var _b = __values(Object.values(defaults_1.default)), _c = _b.next(); !_c.done; _c = _b.next()) {
50
- var metric = _c.value;
51
- this.registerMetric(metric.type, metric.config);
52
- }
53
- }
54
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
55
- finally {
56
- try {
57
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
58
- }
59
- finally { if (e_1) throw e_1.error; }
24
+ initializeDefaultMetrics() {
25
+ for (const metric of Object.values(defaults_1.default)) {
26
+ this.registerMetric(metric.type, metric.config);
60
27
  }
61
- };
62
- ConduitMetrics.prototype.registerMetric = function (type, config) {
28
+ }
29
+ registerMetric(type, config) {
63
30
  if (this.getMetric(config.name))
64
31
  return;
65
- var metricConfig = JSON.parse(JSON.stringify(config));
32
+ const metricConfig = JSON.parse(JSON.stringify(config));
66
33
  metricConfig.name = this.addPrefix(config.name);
67
34
  switch (type) {
68
35
  case grpc_sdk_1.MetricType.Counter:
@@ -78,8 +45,8 @@ var ConduitMetrics = /** @class */ (function () {
78
45
  this.createSummary(metricConfig);
79
46
  break;
80
47
  }
81
- };
82
- ConduitMetrics.prototype.collectDefaultMetrics = function () {
48
+ }
49
+ collectDefaultMetrics() {
83
50
  (0, prom_client_1.collectDefaultMetrics)({
84
51
  register: this._registry,
85
52
  prefix: 'conduit_',
@@ -89,64 +56,61 @@ var ConduitMetrics = /** @class */ (function () {
89
56
  instance_instance: this.instance,
90
57
  },
91
58
  });
92
- };
93
- ConduitMetrics.prototype.createCounter = function (config) {
94
- return new prom_client_1.Counter(__assign(__assign({}, config), { registers: [this._registry] }));
95
- };
96
- ConduitMetrics.prototype.createSummary = function (config) {
97
- return new prom_client_1.Summary(__assign(__assign({}, config), { registers: [this._registry] }));
98
- };
99
- ConduitMetrics.prototype.createHistogram = function (config) {
100
- return new prom_client_1.Histogram(__assign(__assign({}, config), { registers: [this._registry] }));
101
- };
102
- ConduitMetrics.prototype.createGauge = function (config) {
103
- return new prom_client_1.Gauge(__assign(__assign({}, config), { registers: [this._registry] }));
104
- };
105
- ConduitMetrics.prototype.getMetric = function (name) {
59
+ }
60
+ createCounter(config) {
61
+ return new prom_client_1.Counter({ ...config, registers: [this._registry] });
62
+ }
63
+ createSummary(config) {
64
+ return new prom_client_1.Summary({ ...config, registers: [this._registry] });
65
+ }
66
+ createHistogram(config) {
67
+ return new prom_client_1.Histogram({ ...config, registers: [this._registry] });
68
+ }
69
+ createGauge(config) {
70
+ return new prom_client_1.Gauge({ ...config, registers: [this._registry] });
71
+ }
72
+ getMetric(name) {
106
73
  return this._registry.getSingleMetric(this.addPrefix(name));
107
- };
108
- ConduitMetrics.prototype.increment = function (metric, increment, labels) {
109
- if (increment === void 0) { increment = 1; }
110
- var metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
74
+ }
75
+ increment(metric, increment = 1, labels) {
76
+ const metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
111
77
  if (!(metricInstance instanceof prom_client_1.Counter) && !(metricInstance instanceof prom_client_1.Gauge)) {
112
- throw new Error("Metric ".concat(metric, " is not an incrementable metric"));
78
+ throw new Error(`Metric ${metric} is not an incrementable metric`);
113
79
  }
114
80
  return labels
115
- ? metricInstance.labels(__assign({}, labels)).inc(increment)
81
+ ? metricInstance.labels({ ...labels }).inc(increment)
116
82
  : metricInstance.inc(increment);
117
- };
118
- ConduitMetrics.prototype.decrement = function (metric, decrement, labels) {
119
- if (decrement === void 0) { decrement = 1; }
120
- var metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
83
+ }
84
+ decrement(metric, decrement = 1, labels) {
85
+ const metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
121
86
  if (!(metricInstance instanceof prom_client_1.Gauge)) {
122
- throw new Error("Metric ".concat(metric, " is not a decrementable metric"));
87
+ throw new Error(`Metric ${metric} is not a decrementable metric`);
123
88
  }
124
89
  return labels
125
- ? metricInstance.labels(__assign({}, labels)).dec(decrement)
90
+ ? metricInstance.labels({ ...labels }).dec(decrement)
126
91
  : metricInstance.dec(decrement);
127
- };
128
- ConduitMetrics.prototype.set = function (metric, value, labels) {
129
- var metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
92
+ }
93
+ set(metric, value, labels) {
94
+ const metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
130
95
  if (!(metricInstance instanceof prom_client_1.Gauge)) {
131
- throw new Error("Metric ".concat(metric, " is not a Gauge"));
96
+ throw new Error(`Metric ${metric} is not a Gauge`);
132
97
  }
133
98
  return labels
134
- ? metricInstance.labels(__assign({}, labels)).set(value)
99
+ ? metricInstance.labels({ ...labels }).set(value)
135
100
  : metricInstance.set(value);
136
- };
137
- ConduitMetrics.prototype.observe = function (metric, value, labels) {
138
- var metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
101
+ }
102
+ observe(metric, value, labels) {
103
+ const metricInstance = this._registry.getSingleMetric(this.addPrefix(metric));
139
104
  if (!(metricInstance instanceof prom_client_1.Histogram) && !(metricInstance instanceof prom_client_1.Summary)) {
140
- throw new Error("Metric ".concat(metric, " is not a Histogram"));
105
+ throw new Error(`Metric ${metric} is not a Histogram`);
141
106
  }
142
107
  return labels
143
- ? metricInstance.labels(__assign({}, labels)).observe(value)
108
+ ? metricInstance.labels({ ...labels }).observe(value)
144
109
  : metricInstance.observe(value);
145
- };
146
- ConduitMetrics.prototype.addPrefix = function (metric) {
147
- return "conduit_".concat(metric);
148
- };
149
- return ConduitMetrics;
150
- }());
110
+ }
111
+ addPrefix(metric) {
112
+ return `conduit_${metric}`;
113
+ }
114
+ }
151
115
  exports.ConduitMetrics = ConduitMetrics;
152
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"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"}