@webda/core 2.3.1 → 2.4.1

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 (65) hide show
  1. package/lib/application.d.ts +12 -0
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +26 -3
  4. package/lib/core.js +53 -2
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +1 -1
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/queues/memoryqueue.spec.js +4 -0
  9. package/lib/queues/memoryqueue.spec.js.map +1 -1
  10. package/lib/queues/queueservice.d.ts +8 -0
  11. package/lib/queues/queueservice.js +28 -0
  12. package/lib/queues/queueservice.js.map +1 -1
  13. package/lib/services/authentication.d.ts +14 -2
  14. package/lib/services/authentication.js +105 -70
  15. package/lib/services/authentication.js.map +1 -1
  16. package/lib/services/binary.d.ts +11 -1
  17. package/lib/services/binary.js +28 -1
  18. package/lib/services/binary.js.map +1 -1
  19. package/lib/services/fileconfiguration.js +9 -3
  20. package/lib/services/fileconfiguration.js.map +1 -1
  21. package/lib/services/fileconfiguration.spec.js +43 -0
  22. package/lib/services/fileconfiguration.spec.js.map +1 -1
  23. package/lib/services/mailer.d.ts +9 -1
  24. package/lib/services/mailer.js +30 -7
  25. package/lib/services/mailer.js.map +1 -1
  26. package/lib/services/mailer.spec.js +5 -0
  27. package/lib/services/mailer.spec.js.map +1 -1
  28. package/lib/services/oauth.d.ts +8 -1
  29. package/lib/services/oauth.js +11 -0
  30. package/lib/services/oauth.js.map +1 -1
  31. package/lib/services/prometheus.d.ts +97 -0
  32. package/lib/services/prometheus.js +151 -0
  33. package/lib/services/prometheus.js.map +1 -0
  34. package/lib/services/prometheus.spec.d.ts +1 -0
  35. package/lib/services/prometheus.spec.js +57 -0
  36. package/lib/services/prometheus.spec.js.map +1 -0
  37. package/lib/services/proxy.d.ts +11 -0
  38. package/lib/services/proxy.js +47 -2
  39. package/lib/services/proxy.js.map +1 -1
  40. package/lib/services/resource.js +2 -1
  41. package/lib/services/resource.js.map +1 -1
  42. package/lib/services/resource.spec.js +5 -5
  43. package/lib/services/service.d.ts +16 -1
  44. package/lib/services/service.js +18 -0
  45. package/lib/services/service.js.map +1 -1
  46. package/lib/stores/file.js +1 -0
  47. package/lib/stores/file.js.map +1 -1
  48. package/lib/stores/store.d.ts +8 -13
  49. package/lib/stores/store.js +34 -35
  50. package/lib/stores/store.js.map +1 -1
  51. package/lib/test.js +8 -0
  52. package/lib/test.js.map +1 -1
  53. package/lib/utils/context.d.ts +6 -1
  54. package/lib/utils/context.js +9 -2
  55. package/lib/utils/context.js.map +1 -1
  56. package/lib/utils/serializers.js +1 -1
  57. package/lib/utils/serializers.js.map +1 -1
  58. package/lib/utils/serializers.spec.js +1 -1
  59. package/lib/utils/serializers.spec.js.map +1 -1
  60. package/package.json +4 -3
  61. package/test/config-file-missing-file-no-default.json +44 -0
  62. package/test/config-file-missing-file.json +57 -0
  63. package/test/config-invitation.json +3 -1
  64. package/test/config.json +3 -0
  65. package/webda.module.json +202 -0
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import * as http from "http";
8
+ import { Counter, Gauge, Histogram } from "../core.js";
8
9
  import { Route, Service, ServiceParameters } from "./service.js";
9
10
  /**
10
11
  * Proxy to a backend service
@@ -17,6 +18,32 @@ export class ProxyParameters extends ServiceParameters {
17
18
  * @WebdaModda
18
19
  */
19
20
  export class ProxyService extends Service {
21
+ /**
22
+ * @override
23
+ */
24
+ initMetrics() {
25
+ super.initMetrics();
26
+ this.metrics.http_request_total = this.getMetric(Counter, {
27
+ name: "proxy_request_total",
28
+ help: "number of request",
29
+ labelNames: ["method", "statuscode", "handler", "host"]
30
+ });
31
+ this.metrics.http_request_in_flight = this.getMetric(Gauge, {
32
+ name: "proxy_request_in_flight",
33
+ help: "number of request in flight",
34
+ labelNames: ["method", "statuscode", "handler", "host"]
35
+ });
36
+ this.metrics.http_request_duration_milliseconds = this.getMetric(Histogram, {
37
+ name: "proxy_request_duration_milliseconds",
38
+ help: "request duration",
39
+ labelNames: ["method", "statuscode", "handler", "host"]
40
+ });
41
+ this.metrics.http_errors = this.getMetric(Counter, {
42
+ name: "proxy_request_errors",
43
+ help: "request errors",
44
+ labelNames: ["method", "statuscode", "handler", "host"]
45
+ });
46
+ }
20
47
  /**
21
48
  * @override
22
49
  */
@@ -89,6 +116,7 @@ export class ProxyService extends Service {
89
116
  */
90
117
  async rawProxy(ctx, host, url, headers = {}) {
91
118
  this.log("DEBUG", "Proxying to", `${ctx.getHttpContext().getMethod()} ${url}`);
119
+ this.metrics.http_request_in_flight.inc();
92
120
  await new Promise((resolve, reject) => {
93
121
  let xff = ctx.getHttpContext().getHeader("x-forwarded-for");
94
122
  if (!xff) {
@@ -108,8 +136,25 @@ export class ProxyService extends Service {
108
136
  "X-Forwarded-For": xff,
109
137
  ...headers
110
138
  }, res => {
111
- res.on("end", resolve);
112
- res.on("error", reject);
139
+ const labels = {
140
+ method: ctx.getHttpContext().getMethod(),
141
+ host,
142
+ handler: url,
143
+ statuscode: res.statusCode
144
+ };
145
+ res.on("end", () => {
146
+ this.metrics.http_request_in_flight.dec();
147
+ resolve();
148
+ });
149
+ res.on("error", () => {
150
+ this.metrics.http_request_in_flight.dec();
151
+ this.metrics.http_errors.inc({ ...labels, statuscode: -1 });
152
+ reject();
153
+ });
154
+ this.metrics.http_request_total.inc(labels);
155
+ if (res.statusCode >= 400) {
156
+ this.metrics.http_errors.inc(labels);
157
+ }
113
158
  this.forwardResponse(res, ctx);
114
159
  });
115
160
  req.on("error", reject);
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/services/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/services/proxy.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,8 @@ export default class ResourceService extends Service {
137
137
  mimetype += "; charset=UTF-8";
138
138
  }
139
139
  ctx.writeHead(200, {
140
- "Content-Type": mimetype
140
+ "content-type": mimetype,
141
+ "content-length": fs.lstatSync(file).size
141
142
  });
142
143
  const stream = fs.createReadStream(file);
143
144
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/services/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/services/resource.ts"],"names":[],"mappings":"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"}
@@ -54,28 +54,28 @@ let ResourceTest = class ResourceTest extends WebdaTest {
54
54
  assert.notStrictEqual(executor, undefined);
55
55
  await executor.execute(this.ctx);
56
56
  assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./test/config.json").toString());
57
- assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "application/json");
57
+ assert.strictEqual(this.ctx.getResponseHeaders()["content-type"], "application/json");
58
58
  }
59
59
  async jsFile() {
60
60
  let executor = this.getExecutor(this.ctx, "test.webda.io", "GET", "/resources/moddas/voidstore.js");
61
61
  assert.notStrictEqual(executor, undefined);
62
62
  await executor.execute(this.ctx);
63
63
  assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./test/moddas/voidstore.js").toString());
64
- assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "application/javascript");
64
+ assert.strictEqual(this.ctx.getResponseHeaders()["content-type"], "application/javascript");
65
65
  }
66
66
  async textFile() {
67
67
  let executor = this.getExecutor(this.ctx, "test.webda.io", "GET", "/resources/data/test.txt");
68
68
  assert.notStrictEqual(executor, undefined);
69
69
  await executor.execute(this.ctx);
70
70
  assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./test/data/test.txt").toString());
71
- assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "text/plain; charset=UTF-8");
71
+ assert.strictEqual(this.ctx.getResponseHeaders()["content-type"], "text/plain; charset=UTF-8");
72
72
  }
73
73
  async pngFile() {
74
74
  let executor = this.getExecutor(this.ctx, "test.webda.io", "GET", "/resources/data/test.png");
75
75
  assert.notStrictEqual(executor, undefined);
76
76
  await executor.execute(this.ctx);
77
77
  assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./test/data/test.png").toString());
78
- assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "image/png");
78
+ assert.strictEqual(this.ctx.getResponseHeaders()["content-type"], "image/png");
79
79
  }
80
80
  // Check Store HTTP mapping
81
81
  async testStoreHttpMapping() {
@@ -83,7 +83,7 @@ let ResourceTest = class ResourceTest extends WebdaTest {
83
83
  assert.notStrictEqual(executor, undefined);
84
84
  await executor.execute(this.ctx);
85
85
  assert.strictEqual(this.ctx.getResponseBody().toString(), fs.readFileSync("./templates/PASSPORT_EMAIL_RECOVERY/html.mustache").toString());
86
- assert.strictEqual(this.ctx.getResponseHeaders()["Content-Type"], "application/octet-stream");
86
+ assert.strictEqual(this.ctx.getResponseHeaders()["content-type"], "application/octet-stream");
87
87
  }
88
88
  };
89
89
  __decorate([
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { WorkerLogLevel } from "@webda/workout";
3
3
  import * as events from "events";
4
- import { Core, Logger } from "../index.js";
4
+ import { Constructor, Core, Counter, Gauge, Histogram, Logger, MetricConfiguration } from "../index.js";
5
5
  import { OpenAPIWebdaDefinition } from "../router.js";
6
6
  import { HttpMethodType } from "../utils/httpcontext.js";
7
7
  /**
@@ -122,6 +122,10 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
122
122
  * Logger with class context
123
123
  */
124
124
  protected logger: Logger;
125
+ /**
126
+ * Get metrics
127
+ */
128
+ protected metrics?: any;
125
129
  /**
126
130
  *
127
131
  *
@@ -156,6 +160,17 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
156
160
  * Call initRoutes and initBeanRoutes
157
161
  */
158
162
  resolve(): this;
163
+ /**
164
+ * Init the metrics
165
+ */
166
+ initMetrics(): void;
167
+ /**
168
+ * Add service name label
169
+ * @param type
170
+ * @param configuration
171
+ * @returns
172
+ */
173
+ getMetric<T = Gauge | Counter | Histogram>(type: Constructor<T>, configuration: MetricConfiguration<T>): T;
159
174
  /**
160
175
  * Return the full path url based on parameters
161
176
  *
@@ -208,6 +208,7 @@ class Service extends events.EventEmitter {
208
208
  * Call initRoutes and initBeanRoutes
209
209
  */
210
210
  resolve() {
211
+ this.initMetrics();
211
212
  // Inject dependencies
212
213
  Injector.resolveAll(this);
213
214
  // We wait for all services to be created before calling computeParameters
@@ -216,6 +217,23 @@ class Service extends events.EventEmitter {
216
217
  this.initOperations();
217
218
  return this;
218
219
  }
220
+ /**
221
+ * Init the metrics
222
+ */
223
+ initMetrics() {
224
+ this.metrics = {};
225
+ }
226
+ /**
227
+ * Add service name label
228
+ * @param type
229
+ * @param configuration
230
+ * @returns
231
+ */
232
+ getMetric(type, configuration) {
233
+ configuration.labelNames ?? (configuration.labelNames = []);
234
+ configuration.labelNames = [...configuration.labelNames, "service"];
235
+ return this.getWebda().getMetric(type, configuration);
236
+ }
219
237
  /**
220
238
  * Return the full path url based on parameters
221
239
  *
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/services/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAMjC;;;;GAIG;AACH,MAAM,QAAQ;IAMZ;;;;;;OAMG;IACH,YAAY,QAAgB,EAAE,eAAuB,EAAE,YAAqB,EAAE,WAAoB,KAAK;QACrG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBACzC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC/C;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;aAC9B;SACF;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;SAClC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAgB;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;SAC9D;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,eAAe,IAAI,CAAC,SAAS,UAAU,OAAO,CAAC,OAAO,EAAE,GAAG,CAChG,CAAC;aACH;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,UAAU,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACrF;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAgB;QAChC,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClG,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,MAAM,CAAC,eAAuB,EAAE,YAA+B,EAAE,QAAkB;IACjG,OAAO,UAAU,MAAW,EAAE,YAAoB;QAChD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1C,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE;YACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;SAC7F;aAAM;YACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC5F;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,UAmBC,EACD,KAKC;IAED,OAAO,UAAU,MAAW,EAAE,QAAgB;;QAC5C,MAAA,MAAM,CAAC,WAAW,EAAC,UAAU,QAAV,UAAU,GAAK,EAAE,EAAC;QACrC,UAAU,KAAV,UAAU,GAAK,EAAE,EAAC;QAClB,UAAU,CAAC,EAAE,KAAb,UAAU,CAAC,EAAE,GAAK,QAAQ,EAAC;QAC3B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;YACrC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO;SACR;QACD,MAAA,MAAM,CAAC,WAAW,CAAC,UAAU,EAAC,EAAE,SAAF,EAAE,IAAM;YACpC,MAAM,EAAE,QAAQ;YAChB,GAAG,UAAU;SACd,EAAC;QACF,yCAAyC;QACzC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,MAAM,KAAZ,KAAK,CAAC,MAAM,GAAK,KAAK,EAAC;YACvB,KAAK,CAAC,OAAO,KAAb,KAAK,CAAC,OAAO,GAAK,EAAE,EAAC;YACrB,MAAA,KAAK,CAAC,OAAO,OAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,eAAM,EAAE,EAAC;YACjD,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,KAAX,GAAG,CAAC,OAAO,GAAK,EAAE,EAAC;YACnB,MAAA,GAAG,CAAC,OAAO,EAAC,KAAK,QAAL,KAAK,GAAK,UAAU,CAAC,KAAK,EAAC;YACvC,MAAA,GAAG,CAAC,OAAO,EAAC,MAAM,QAAN,MAAM,GAAK,UAAU,CAAC,MAAM,EAAC;YACzC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAClF;IACH,CAAC,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,KAAK,CACnB,KAAa,EACb,UAA6C,CAAC,KAAK,CAAC,EACpD,YAAqB,KAAK,EAC1B,UAAkC,EAAE;IAEpC,OAAO,UAAU,MAAW,EAAE,QAAgB;;QAC5C,MAAA,MAAM,CAAC,WAAW,EAAC,MAAM,QAAN,MAAM,GAAK,EAAE,EAAC;QACjC,MAAA,MAAM,CAAC,WAAW,CAAC,MAAM,EAAC,KAAK,SAAL,KAAK,IAAM,EAAE,EAAC;QACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrD,QAAQ;YACR,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAe5B;;;;OAIG;IACH,YAAY,MAAW;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAiBD;;;;;;;;;GASG;AACH,MAAe,OAGb,SAAQ,MAAM,CAAC,YAAY;IAsB3B;;;;;;;OAOG;IACH,YAAY,KAAW,EAAE,IAAY,EAAE,SAAyB,EAAE;QAChE,KAAK,EAAE,CAAC;QAdV,mBAAc,GAAQ,SAAS,CAAC;QAe9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAsB;QACnC,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,2CAA2C;IAC7C,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,sBAAsB;QACtB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1B,0EAA0E;QAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAW,EAAE,QAA0B;QAC5C,qBAAqB;QACrB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACO,QAAQ,CAChB,GAAW,EACX,OAAyB,EACzB,QAAkB,EAClB,UAAkC,EAAE,EACpC,YAAqB,KAAK,EAC1B,WAAoB,KAAK;QAEzB,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC7B,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,SAAS;YACT,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1D,OAAO;YACP,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,aAAa;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,aAAa;QACb,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;QACnD,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACxG;IACH,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAe;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAsB;QACjC,IAAI,CAAC,UAAU,GAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,OAAO,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAClD;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAsB,KAAU,EAAE,IAAY;QACpD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAS,KAAK,CAAC,EAAE;YAClD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC7B,QAAQ,CAAC,IAAI,CACX,MAAM;qBACH,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,EAAE;oBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CAAC,CACL,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,IAAI,CAAsB,KAAmB,EAAE,IAAY;QACzD,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAS,KAAK,CAAC,EAAE;YAClD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,EAAE,CAAsB,KAAmB,EAAE,QAA+B;QAC1E,KAAK,CAAC,EAAE,CAAS,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAsB,KAAU,EAAE,QAA+B,EAAE,QAAgB,SAAS;QACjG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,aAAa,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAU,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9G,CAAC;IAED;;;OAGG;IACH,UAAU,CAAuC,OAAe;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAI,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,aAAa;QACb,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE;YACnC,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAqB,EAAE,GAAG,IAAW;QACvC,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/services/service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ class FileStore extends Store {
35
35
  model: this.parameters.model
36
36
  });
37
37
  this._cacheStore.computeParameters();
38
+ this._cacheStore.initMetrics();
38
39
  this.cacheStorePatchException();
39
40
  }
40
41
  if (!fs.existsSync(this.parameters.folder)) {
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/stores/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/stores/file.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EventWithContext, WebdaError } from "../core.js";
1
+ import { Counter, EventWithContext, Histogram, WebdaError } from "../core.js";
2
2
  import { ConfigurationProvider } from "../index.js";
3
3
  import { Constructor, CoreModel, CoreModelDefinition } from "../models/coremodel.js";
4
4
  import { Service, ServiceParameters } from "../services/service.js";
@@ -502,18 +502,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
502
502
  * Add metrics counter
503
503
  */
504
504
  metrics: {
505
- save: number;
506
- update: number;
507
- partialUpdate: number;
508
- get: number;
509
- increment: number;
510
- delete: number;
511
- collectionUpsert: number;
512
- collectionDelete: number;
513
- attributeDelete: number;
514
- query: number;
515
- queryDuration: number;
516
- slowQueries: number;
505
+ operations_total: Counter;
506
+ slow_queries_total: Counter;
507
+ queries: Histogram;
517
508
  };
518
509
  /**
519
510
  * The parent store if it is nested
@@ -530,6 +521,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
530
521
  */
531
522
  computeParameters(): void;
532
523
  logSlowQuery(_query: string, _reason: string, _time: number): void;
524
+ /**
525
+ * @override
526
+ */
527
+ initMetrics(): void;
533
528
  /**
534
529
  * Return Store current model
535
530
  * @returns
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { WebdaError } from "../core.js";
7
+ import { Counter, Histogram, WebdaError } from "../core.js";
8
8
  import { CoreModel } from "../models/coremodel.js";
9
9
  import { Route, Service, ServiceParameters } from "../services/service.js";
10
10
  import { WebdaQL } from "./webdaql/query.js";
@@ -107,23 +107,6 @@ class Store extends Service {
107
107
  * Contain the model uuid field
108
108
  */
109
109
  this._uuidField = "uuid";
110
- /**
111
- * Add metrics counter
112
- */
113
- this.metrics = {
114
- save: 0,
115
- update: 0,
116
- partialUpdate: 0,
117
- get: 0,
118
- increment: 0,
119
- delete: 0,
120
- collectionUpsert: 0,
121
- collectionDelete: 0,
122
- attributeDelete: 0,
123
- query: 0,
124
- queryDuration: 0,
125
- slowQueries: 0
126
- };
127
110
  }
128
111
  /**
129
112
  * Retrieve the Model
@@ -149,6 +132,22 @@ class Store extends Service {
149
132
  logSlowQuery(_query, _reason, _time) {
150
133
  // TODO Need to implement: https://github.com/loopingz/webda.io/issues/202
151
134
  }
135
+ /**
136
+ * @override
137
+ */
138
+ initMetrics() {
139
+ super.initMetrics();
140
+ this.metrics.operations_total = this.getMetric(Counter, {
141
+ name: "store_operations_total",
142
+ help: "Operations counter for this store",
143
+ labelNames: ["operation"]
144
+ });
145
+ this.metrics.slow_queries_total = this.getMetric(Counter, {
146
+ name: "store_slow_queries",
147
+ help: "Number of slow queries encountered"
148
+ });
149
+ this.metrics.queries = this.getMetric(Histogram, { name: "store_queries", help: "Query duration" });
150
+ }
152
151
  /**
153
152
  * Return Store current model
154
153
  * @returns
@@ -212,7 +211,7 @@ class Store extends Service {
212
211
  * @returns
213
212
  */
214
213
  async getObject(uid) {
215
- this.metrics.get++;
214
+ this.metrics.operations_total.inc({ operation: "get" });
216
215
  return this._getFromCache(uid);
217
216
  }
218
217
  /**
@@ -465,7 +464,7 @@ class Store extends Service {
465
464
  return Promise.resolve();
466
465
  }
467
466
  let updateDate = new Date();
468
- this.metrics.increment++;
467
+ this.metrics.operations_total.inc({ operation: "increment" });
469
468
  await this._incrementAttribute(uid, prop, value, updateDate);
470
469
  await this._cacheStore?._incrementAttribute(uid, prop, value, updateDate);
471
470
  return this.emitSync("Store.PartialUpdated", {
@@ -482,7 +481,7 @@ class Store extends Service {
482
481
  }
483
482
  async upsertItemToCollection(uid, prop, item, index = undefined, itemWriteCondition = undefined, itemWriteConditionField = this._uuidField) {
484
483
  let updateDate = new Date();
485
- this.metrics.collectionUpsert++;
484
+ this.metrics.operations_total.inc({ operation: "collectionUpsert" });
486
485
  await this._upsertItemToCollection(uid, prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate);
487
486
  await this._cacheStore?._upsertItemToCollection(uid, prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate);
488
487
  await this.emitSync("Store.PartialUpdated", {
@@ -500,7 +499,7 @@ class Store extends Service {
500
499
  }
501
500
  async deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField = this._uuidField) {
502
501
  let updateDate = new Date();
503
- this.metrics.collectionDelete++;
502
+ this.metrics.operations_total.inc({ operation: "collectionDelete" });
504
503
  await this._deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate);
505
504
  await this._cacheStore?._deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate);
506
505
  await this.emitSync("Store.PartialUpdated", {
@@ -586,7 +585,7 @@ class Store extends Service {
586
585
  let [mainOffset, subOffset] = offset.split("_");
587
586
  let secondOffset = parseInt(subOffset || "0");
588
587
  let duration = Date.now();
589
- this.metrics.query++;
588
+ this.metrics.operations_total.inc({ operation: "query" });
590
589
  while (result.results.length < limit) {
591
590
  let tmpResults = await this.find({ ...parsedQuery, continuationToken: mainOffset });
592
591
  // If no filter is returned assume it is by mistake and apply filtering
@@ -632,10 +631,10 @@ class Store extends Service {
632
631
  }
633
632
  }
634
633
  duration = Date.now() - duration;
635
- this.metrics.queryDuration =
636
- (this.metrics.queryDuration * (this.metrics.query - 1) + duration) / this.metrics.query;
634
+ this.metrics.queries.observe(duration / 1000);
637
635
  if (duration > this.parameters.slowQueryThreshold) {
638
636
  this.logSlowQuery(query, "", duration);
637
+ this.metrics.slow_queries_total.inc();
639
638
  }
640
639
  await this.emitSync("Store.Queried", {
641
640
  query,
@@ -705,7 +704,7 @@ class Store extends Service {
705
704
  });
706
705
  // Handle object auto listener
707
706
  await object._onSave();
708
- this.metrics.save++;
707
+ this.metrics.operations_total.inc({ operation: "save" });
709
708
  let res = await this._save(object);
710
709
  await this._cacheStore?._save(object);
711
710
  object = this.initModel(res);
@@ -835,7 +834,7 @@ class Store extends Service {
835
834
  return undefined;
836
835
  }
837
836
  object[this._lastUpdateField] = new Date();
838
- this.metrics.get++;
837
+ this.metrics.operations_total.inc({ operation: "get" });
839
838
  let load = await this._getFromCache(object[this._uuidField], true);
840
839
  if (load.__type !== this._modelType && this.parameters.strict) {
841
840
  this.log("WARN", `Object '${object[this._uuidField]}' was not created by this store ${load.__type}:${this._modelType}`);
@@ -866,7 +865,7 @@ class Store extends Service {
866
865
  conditionValue ?? (conditionValue = load[conditionField]);
867
866
  }
868
867
  if (partial) {
869
- this.metrics.partialUpdate++;
868
+ this.metrics.operations_total.inc({ operation: "partialUpdate" });
870
869
  await this._patch(object, object[this._uuidField], conditionValue, conditionField);
871
870
  await this._cacheStore?._patch(object, object[this._uuidField], load[this._lastUpdateField], this._lastUpdateField);
872
871
  res = object;
@@ -877,7 +876,7 @@ class Store extends Service {
877
876
  object[this._reverseMap[i].property] = loaded[this._reverseMap[i].property];
878
877
  }
879
878
  object = this.initModel(object);
880
- this.metrics.update++;
879
+ this.metrics.operations_total.inc({ operation: "update" });
881
880
  res = await this._update(object, object[this._uuidField], conditionValue, conditionField);
882
881
  await this._cacheStore?._update(object, object[this._uuidField], load[this._lastUpdateField], this._lastUpdateField);
883
882
  }
@@ -912,7 +911,7 @@ class Store extends Service {
912
911
  * @returns
913
912
  */
914
913
  async removeAttribute(uuid, attribute, itemWriteCondition, itemWriteConditionField) {
915
- this.metrics.attributeDelete++;
914
+ this.metrics.operations_total.inc({ operation: "attributeDelete" });
916
915
  await this._removeAttribute(uuid, attribute, itemWriteCondition, itemWriteConditionField);
917
916
  await this._cacheStore?._removeAttribute(uuid, attribute, itemWriteCondition, itemWriteConditionField);
918
917
  await this.emitSync("Store.PartialUpdated", {
@@ -956,7 +955,7 @@ class Store extends Service {
956
955
  to_delete = uid;
957
956
  }
958
957
  else {
959
- this.metrics.get++;
958
+ this.metrics.operations_total.inc({ operation: "get" });
960
959
  to_delete = await this._getFromCache(uid);
961
960
  if (to_delete === undefined) {
962
961
  return;
@@ -981,7 +980,7 @@ class Store extends Service {
981
980
  await to_delete._onDelete();
982
981
  // If async we just tag the object as deleted
983
982
  if (this.parameters.asyncDelete && !sync) {
984
- this.metrics.partialUpdate++;
983
+ this.metrics.operations_total.inc({ operation: "partialUpdate" });
985
984
  await this._patch({
986
985
  __deleted: true
987
986
  }, to_delete.getUuid());
@@ -990,7 +989,7 @@ class Store extends Service {
990
989
  }, to_delete.getUuid());
991
990
  }
992
991
  else {
993
- this.metrics.delete++;
992
+ this.metrics.operations_total.inc({ operation: "delete" });
994
993
  // Delete from the DB for real
995
994
  await this._delete(to_delete.getUuid(), writeCondition, writeConditionField);
996
995
  await this._cacheStore?._delete(to_delete.getUuid(), writeCondition, writeConditionField);
@@ -1017,7 +1016,7 @@ class Store extends Service {
1017
1016
  * @returns {Promise<Map<string, any>>}
1018
1017
  */
1019
1018
  async getConfiguration(id) {
1020
- this.metrics.get++;
1019
+ this.metrics.operations_total.inc({ operation: "get" });
1021
1020
  let object = await this._getFromCache(id);
1022
1021
  if (!object) {
1023
1022
  return undefined;
@@ -1053,7 +1052,7 @@ class Store extends Service {
1053
1052
  if (!uid) {
1054
1053
  return undefined;
1055
1054
  }
1056
- this.metrics.get++;
1055
+ this.metrics.operations_total.inc({ operation: "get" });
1057
1056
  let object = await this._getFromCache(uid);
1058
1057
  if (!object) {
1059
1058
  return defaultValue ? this.initModel(defaultValue).setUuid(uid) : undefined;