@breautek/storm 9.6.5 → 9.7.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 (138) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/docs/assets/hierarchy.js +1 -1
  3. package/docs/assets/navigation.js +1 -1
  4. package/docs/assets/search.js +1 -1
  5. package/docs/classes/Application.html +23 -18
  6. package/docs/classes/ConfigLoader.html +3 -3
  7. package/docs/classes/Database.html +2 -2
  8. package/docs/classes/DatabaseCastObject.html +2 -2
  9. package/docs/classes/DatabaseConnection.html +21 -21
  10. package/docs/classes/DatabaseQueryError.html +6 -6
  11. package/docs/classes/DeadLockError.html +6 -6
  12. package/docs/classes/DiskSpaceError.html +5 -5
  13. package/docs/classes/DropTemporaryTableQuery.html +7 -7
  14. package/docs/classes/DuplicateEntryError.html +5 -5
  15. package/docs/classes/EntityNotFoundError.html +5 -5
  16. package/docs/classes/ExpiredTokenError.html +5 -5
  17. package/docs/classes/ForbiddenError.html +5 -5
  18. package/docs/classes/GetMySQLVersion.html +7 -7
  19. package/docs/classes/Handler.html +2 -2
  20. package/docs/classes/IllegalStateError.html +5 -5
  21. package/docs/classes/InternalError.html +5 -5
  22. package/docs/classes/InvalidCredentialsError.html +5 -5
  23. package/docs/classes/InvalidValueError.html +5 -5
  24. package/docs/classes/LineString.html +2 -2
  25. package/docs/classes/LockWaitTimeoutError.html +6 -6
  26. package/docs/classes/ManagedDatabaseConnection.html +5 -5
  27. package/docs/classes/MetricStore.html +6 -6
  28. package/docs/classes/Middleware.html +2 -2
  29. package/docs/classes/MissingConfigError.html +5 -5
  30. package/docs/classes/MissingParameterError.html +5 -5
  31. package/docs/classes/MySQLConnection.html +25 -25
  32. package/docs/classes/MySQLDatabase.html +2 -2
  33. package/docs/classes/NotImplementedError.html +5 -5
  34. package/docs/classes/Point.html +2 -2
  35. package/docs/classes/Polygon.html +2 -2
  36. package/docs/classes/Query.html +7 -7
  37. package/docs/classes/RawError.html +5 -5
  38. package/docs/classes/RawQuery.html +7 -7
  39. package/docs/classes/Request.html +7 -5
  40. package/docs/classes/Response.html +2 -2
  41. package/docs/classes/ResponseData.html +3 -3
  42. package/docs/classes/ServiceProvider.html +2 -2
  43. package/docs/classes/ServiceResponse.html +2 -2
  44. package/docs/classes/SetSessionVariableQuery.html +7 -7
  45. package/docs/classes/StormError.html +5 -5
  46. package/docs/classes/TemporaryTableQuery.html +7 -7
  47. package/docs/classes/TimeoutError.html +5 -5
  48. package/docs/classes/Token.html +2 -2
  49. package/docs/classes/TokenManager.html +4 -4
  50. package/docs/classes/Transaction.html +2 -2
  51. package/docs/classes/UnauthorizedAccessError.html +5 -5
  52. package/docs/enums/ErrorCode.html +2 -2
  53. package/docs/enums/ExitCode.html +2 -2
  54. package/docs/enums/HTTPMethod.html +2 -2
  55. package/docs/enums/IsolationLevel.html +2 -2
  56. package/docs/enums/JWTError.html +2 -2
  57. package/docs/enums/StatusCode.html +2 -2
  58. package/docs/enums/TransactionAccessLevel.html +2 -2
  59. package/docs/functions/getInstance.html +1 -1
  60. package/docs/hierarchy.html +1 -1
  61. package/docs/index.html +1 -1
  62. package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
  63. package/docs/interfaces/ICloudwatchConfig.html +2 -2
  64. package/docs/interfaces/ICloudwatchCredentials.html +2 -2
  65. package/docs/interfaces/ICloudwatchStreamConfig.html +2 -2
  66. package/docs/interfaces/IConfig.html +4 -3
  67. package/docs/interfaces/IDatabaseConfig.html +2 -2
  68. package/docs/interfaces/IDatabaseConnection.html +5 -5
  69. package/docs/interfaces/IDatabasePosition.html +2 -2
  70. package/docs/interfaces/IErrorResponse.html +2 -2
  71. package/docs/interfaces/IFormData.html +2 -2
  72. package/docs/interfaces/IGetMySQLVersionResult.html +2 -2
  73. package/docs/interfaces/IGetMySQLVersionRow.html +2 -2
  74. package/docs/interfaces/IHistogramConfig.html +5 -0
  75. package/docs/interfaces/IInsertQueryResult.html +2 -2
  76. package/docs/interfaces/IJWTVerifyOptions.html +2 -2
  77. package/docs/interfaces/IMetricConfig.html +4 -0
  78. package/docs/interfaces/IMetricCounter.html +2 -0
  79. package/docs/interfaces/IMetricGauge.html +4 -0
  80. package/docs/interfaces/IMetricHistogram.html +3 -0
  81. package/docs/interfaces/IOKPacket.html +2 -2
  82. package/docs/interfaces/IParameterMap.html +1 -1
  83. package/docs/interfaces/IQueryable.html +2 -2
  84. package/docs/interfaces/IRequestResponse.html +2 -2
  85. package/docs/interfaces/ISetSessionVariableQueryInput.html +2 -2
  86. package/docs/interfaces/IStormCLIArgs.html +3 -2
  87. package/docs/interfaces/ITemporaryTableQueryInput.html +2 -2
  88. package/docs/interfaces/IUpdateQueryResult.html +2 -2
  89. package/docs/interfaces/formidable.FileJSON.html +1 -1
  90. package/docs/interfaces/formidable.Part.html +1 -1
  91. package/docs/types/IDeleteQueryResult.html +1 -1
  92. package/docs/types/IStoredProcedureResult.html +1 -1
  93. package/docs/types/TCoordinate.html +1 -1
  94. package/docs/types/TExpiresIn.html +1 -1
  95. package/docs/types/TSerializableResponse.html +1 -1
  96. package/docs/types/TSupportedResponsePrimitives.html +1 -1
  97. package/docs/types/TSupportedResponseTypes.html +1 -1
  98. package/lib/Application.d.ts +13 -0
  99. package/lib/Application.js +39 -5
  100. package/lib/Application.js.map +1 -1
  101. package/lib/ConfigLoader.js +18 -0
  102. package/lib/ConfigLoader.js.map +1 -1
  103. package/lib/Handler.d.ts +1 -0
  104. package/lib/Handler.js +14 -0
  105. package/lib/Handler.js.map +1 -1
  106. package/lib/IConfig.d.ts +5 -0
  107. package/lib/MetricStore.d.ts +34 -7
  108. package/lib/MetricStore.js +96 -31
  109. package/lib/MetricStore.js.map +1 -1
  110. package/lib/MySQLConnection.d.ts +3 -1
  111. package/lib/MySQLConnection.js +3 -3
  112. package/lib/MySQLConnection.js.map +1 -1
  113. package/lib/MySQLDatabase.d.ts +1 -0
  114. package/lib/MySQLDatabase.js +6 -2
  115. package/lib/MySQLDatabase.js.map +1 -1
  116. package/lib/PrometheusServer.d.ts +13 -0
  117. package/lib/PrometheusServer.js +89 -0
  118. package/lib/PrometheusServer.js.map +1 -0
  119. package/lib/Request.d.ts +4 -0
  120. package/lib/Request.js +6 -0
  121. package/lib/Request.js.map +1 -1
  122. package/lib/api.d.ts +1 -1
  123. package/lib/api.js.map +1 -1
  124. package/package.json +6 -5
  125. package/src/Application.ts +51 -6
  126. package/src/ConfigLoader.ts +18 -0
  127. package/src/Handler.ts +15 -0
  128. package/src/IConfig.ts +7 -1
  129. package/src/MetricStore.ts +136 -38
  130. package/src/MySQLConnection.ts +5 -3
  131. package/src/MySQLDatabase.ts +9 -3
  132. package/src/PrometheusServer.ts +109 -0
  133. package/src/Request.ts +7 -0
  134. package/src/api.ts +8 -1
  135. package/lib/handlers/HealthHandler.d.ts +0 -13
  136. package/lib/handlers/HealthHandler.js +0 -22
  137. package/lib/handlers/HealthHandler.js.map +0 -1
  138. package/src/handlers/HealthHandler.ts +0 -37
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as MySQL from 'mysql2';
4
4
  import { IDatabasePosition } from './IDatabasePosition';
5
5
  export declare class MySQLDatabase extends Database<MySQL.PoolOptions, MySQL.PoolConnection> {
6
6
  private $cluster;
7
+ private $activeConnectionsGauge;
7
8
  constructor();
8
9
  escape(value: any): string;
9
10
  static escape(value: any): string;
@@ -35,6 +35,10 @@ class MySQLDatabase extends Database_1.Database {
35
35
  this.$cluster.on('enqueue', () => {
36
36
  (0, instance_1.getInstance)().getLogger().warn(TAG, 'Waiting for available connection...');
37
37
  });
38
+ this.$activeConnectionsGauge = MetricStore_1.MetricStore.getInstance().createGauge({
39
+ name: 'storm_mysql_active_connections',
40
+ help: 'Number of MySQL connections currently claimed from the pool'
41
+ });
38
42
  }
39
43
  escape(value) {
40
44
  return MySQLDatabase.escape(value);
@@ -60,8 +64,8 @@ class MySQLDatabase extends Database_1.Database {
60
64
  reject(error);
61
65
  return;
62
66
  }
63
- MetricStore_1.MetricStore.getInstance().increment('mysql.active_connections');
64
- resolve(new MySQLConnection_1.MySQLConnection(connection, instantationStack, !requireWriteAccess));
67
+ this.$activeConnectionsGauge.inc();
68
+ resolve(new MySQLConnection_1.MySQLConnection(connection, instantationStack, !requireWriteAccess, this.$activeConnectionsGauge));
65
69
  });
66
70
  });
67
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLDatabase.js","sourceRoot":"","sources":["../src/MySQLDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Application } from './Application';
2
+ export declare class PrometheusServer {
3
+ private $app;
4
+ private $socket;
5
+ private $bind;
6
+ private $port;
7
+ private $isClosing;
8
+ private $retryTimer;
9
+ constructor(app: Application);
10
+ start(): void;
11
+ private $createSocket;
12
+ close(): Promise<void>;
13
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2017-2026 Norman Breau
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PrometheusServer = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const http = tslib_1.__importStar(require("node:http"));
21
+ const MetricStore_1 = require("./MetricStore");
22
+ const TAG = 'PrometheusServer';
23
+ const RETRY_DELAY = 5000;
24
+ class PrometheusServer {
25
+ constructor(app) {
26
+ this.$app = app;
27
+ this.$socket = null;
28
+ this.$isClosing = false;
29
+ this.$retryTimer = null;
30
+ let config = app.getConfig();
31
+ this.$bind = config.prometheus?.bind || '127.0.0.1';
32
+ this.$port = config.prometheus?.port;
33
+ if (!this.$port) {
34
+ app.getLogger().warn(TAG, 'Using default port algorithm for Prometheus. Better to explicitly set a port via --prometheus-port.');
35
+ this.$port = app.getDefaultPortForPrometheus();
36
+ }
37
+ }
38
+ start() {
39
+ this.$app.getLogger().info(TAG, 'Initializing Prometheus');
40
+ void this.$createSocket();
41
+ }
42
+ $createSocket() {
43
+ if (this.$isClosing) {
44
+ return Promise.resolve();
45
+ }
46
+ return new Promise((resolve, reject) => {
47
+ this.$socket = http.createServer(async (req, res) => {
48
+ let data = await MetricStore_1.MetricStore.getInstance().getMetrics();
49
+ res.setHeader('Content-Type', data.type);
50
+ res.end(data.content);
51
+ });
52
+ this.$socket.once('error', (err) => {
53
+ this.$socket = null;
54
+ resolve();
55
+ if (this.$isClosing) {
56
+ return;
57
+ }
58
+ this.$app.getLogger().error(TAG, 'Prometheus Socket Error');
59
+ this.$app.getLogger().error(TAG, err);
60
+ this.$retryTimer = setTimeout(() => {
61
+ void this.$createSocket();
62
+ }, RETRY_DELAY);
63
+ });
64
+ this.$socket.listen(this.$port, this.$bind, null, () => {
65
+ this.$app.getLogger().info(TAG, `Prometheus Server bounded`);
66
+ resolve();
67
+ });
68
+ });
69
+ }
70
+ async close() {
71
+ this.$isClosing = true;
72
+ clearTimeout(this.$retryTimer);
73
+ return new Promise((resolve, reject) => {
74
+ if (!this.$socket) {
75
+ resolve();
76
+ return;
77
+ }
78
+ this.$socket.close((err) => {
79
+ if (err) {
80
+ reject(err);
81
+ return;
82
+ }
83
+ resolve();
84
+ });
85
+ });
86
+ }
87
+ }
88
+ exports.PrometheusServer = PrometheusServer;
89
+ //# sourceMappingURL=PrometheusServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrometheusServer.js","sourceRoot":"","sources":["../src/PrometheusServer.ts"],"names":[],"mappings":"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"}
package/lib/Request.d.ts CHANGED
@@ -24,6 +24,10 @@ export declare class Request<TBody = any, TAuthToken extends IAuthTokenData = IA
24
24
  getQueryMultiVariable(name: string): string[];
25
25
  getParams(): IParameterMap;
26
26
  getParam(name: string): string | string[];
27
+ /**
28
+ * Returns the matched route
29
+ */
30
+ getRoute(): string;
27
31
  /**
28
32
  * Gets a URL parameter as string. If the value is multiple
29
33
  * then only the first value is returned.
package/lib/Request.js CHANGED
@@ -105,6 +105,12 @@ class Request {
105
105
  getParam(name) {
106
106
  return this.$request.params[name];
107
107
  }
108
+ /**
109
+ * Returns the matched route
110
+ */
111
+ getRoute() {
112
+ return this.$request.route.path;
113
+ }
108
114
  /**
109
115
  * Gets a URL parameter as string. If the value is multiple
110
116
  * then only the first value is returned.
@@ -1 +1 @@
1
- {"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":"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"}
package/lib/api.d.ts CHANGED
@@ -62,7 +62,7 @@ export { IDatabasePosition } from './IDatabasePosition';
62
62
  export { Token } from './Token';
63
63
  export { TokenManager, TExpiresIn } from './TokenManager';
64
64
  export { ExitCode } from './ExitCode';
65
- export { MetricStore } from './MetricStore';
65
+ export { MetricStore, IHistogramConfig, IMetricConfig, IMetricCounter, IMetricGauge, IMetricHistogram } from './MetricStore';
66
66
  export { TCoordinate } from './TCoordinate';
67
67
  export { DatabaseCastObject } from './DatabaseCastObject';
68
68
  export { Point } from './Point';
package/lib/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breautek/storm",
3
- "version": "9.6.5",
3
+ "version": "9.7.0",
4
4
  "description": "Object-Oriented REST API framework",
5
5
  "main": "lib/api.js",
6
6
  "types": "lib/api.d.ts",
@@ -57,6 +57,7 @@
57
57
  "formidable": "3.5.4",
58
58
  "jsonwebtoken": "9.0.3",
59
59
  "mysql2": "3.22.3",
60
+ "prom-client": "15.1.3",
60
61
  "sql-formatter": "15.7.3",
61
62
  "tslib": "2.8.1"
62
63
  },
@@ -65,15 +66,15 @@
65
66
  "@arashi/logger": "4.x"
66
67
  },
67
68
  "devDependencies": {
68
- "@types/body-parser": "1.19.6",
69
- "@types/jsonwebtoken": "9.0.10",
70
- "@types/mysql": "2.15.27",
71
- "@types/node": "24.10.1",
72
69
  "@arashi/interfaces": "1.2.1",
73
70
  "@arashi/logger": "4.1.5",
74
71
  "@jest/types": "30.3.0",
75
72
  "@totalpave/eslint-plugin": "7.0.17",
73
+ "@types/body-parser": "1.19.6",
76
74
  "@types/jest": "30.0.0",
75
+ "@types/jsonwebtoken": "9.0.10",
76
+ "@types/mysql": "2.15.27",
77
+ "@types/node": "24.10.1",
77
78
  "auto-changelog": "2.5.1",
78
79
  "jest": "30.3.0",
79
80
  "jest-jasmine2": "30.3.0",
@@ -37,7 +37,9 @@ import {
37
37
  BaseLogger
38
38
  } from '@arashi/logger';
39
39
  import { StormError } from './StormError';
40
- import { HealthHandler } from './handlers/HealthHandler';
40
+ import { PrometheusServer } from './PrometheusServer';
41
+ import { MetricStore } from './MetricStore';
42
+ import * as OS from 'node:os';
41
43
 
42
44
  export interface IStormCLIArgs {
43
45
  bind?: string;
@@ -46,6 +48,7 @@ export interface IStormCLIArgs {
46
48
  configFile?: string;
47
49
  localConfigFile?: string;
48
50
  custom: Record<string, any>;
51
+ shard?: number;
49
52
  }
50
53
 
51
54
  const TAG: string = 'Application';
@@ -88,6 +91,8 @@ export abstract class Application
88
91
  private $socket: http.Server;
89
92
  private $program: Command;
90
93
 
94
+ private $promServer: PrometheusServer;
95
+
91
96
  private $usingDeprecatedConfigPath: boolean;
92
97
 
93
98
  /**
@@ -138,17 +143,46 @@ export abstract class Application
138
143
  }
139
144
  }
140
145
 
146
+ private async $initPrometheus(): Promise<void> {
147
+ let config: IConfig = this.getConfig();
148
+
149
+ if (!config.prometheus?.enabled) {
150
+ return;
151
+ }
152
+
153
+ this.$getLogger().info(TAG, 'Initializing Prometheus');
154
+
155
+ this.$promServer = new PrometheusServer(this);
156
+ this.$promServer.start();
157
+ }
158
+
159
+ /**
160
+ * Default algorithm is to take main port, and add 595 to it.
161
+ * Still -- it is better to explicitly set the prometheus port.
162
+ *
163
+ * @param mainPort
164
+ * @returns
165
+ */
166
+ public getDefaultPortForPrometheus(): number {
167
+ return this.getPort() + 595;
168
+ }
169
+
141
170
  private async $load(): Promise<void> {
142
171
  this.$config = await this.$loadConfig();
143
172
 
144
- // console.log('WTF', this.$config);
145
-
146
173
  this.$logger = await this._initLogger(this.$config);
147
174
 
148
175
  this.$getLogger().trace(TAG, 'Configuration loaded.');
149
176
  this.emit(ApplicationEvent.CONFIG_LOADED);
150
177
  this._onConfigLoad(this.$config);
151
178
 
179
+ MetricStore.getInstance().setDefaultLabels({
180
+ name: this.getName(),
181
+ environment: process.env.NODE_ENV ?? 'development',
182
+ hostname: OS.hostname(),
183
+ shard: String(this.getShard() ?? 0)
184
+ });
185
+
152
186
  this.$getLogger().trace(TAG, 'Initializing DB...');
153
187
  this.$db = await this._initDB(this.getConfig());
154
188
  if (this.$db) {
@@ -175,6 +209,8 @@ export abstract class Application
175
209
  limit : this.getRequestSizeLimit()
176
210
  }));
177
211
 
212
+ await this.$initPrometheus();
213
+
178
214
  this.$getLogger().trace(TAG, 'Attaching handlers...');
179
215
  await this.$attachHandlers();
180
216
  await this._attachHandlers();
@@ -321,13 +357,24 @@ export abstract class Application
321
357
  this.$program.allowExcessArguments(true);
322
358
  this.$program.option('--port <port>', 'The running port to consume');
323
359
  this.$program.option('--bind <ip>', 'The binding IP to listen on');
360
+ this.$program.option('--shard <integer>', 'The shard identifier. Must be an integer');
324
361
  this.$program.option('--authentication_header <header>', 'The header name of the authentication token');
325
362
  this.$program.option('--config <path>', 'The path to the bt-config.json file');
326
363
  this.$program.option('--local-config <path>', 'The path to the bt-local-config.json file.');
364
+ this.$program.option('--prometheus-port <port>', 'The port for prometheus metrics server to use.');
365
+ this.$program.option('--prometheus-bind <ip>', 'The bind for prometheus metrics server to use.');
327
366
 
328
367
  this._buildArgOptions(this.$program);
329
368
  }
330
369
 
370
+ public getShard(): number {
371
+ return this.getCmdLineArgs().shard;
372
+ }
373
+
374
+ public isPrometheusEnabled(): boolean {
375
+ return !!(this.getConfig()?.prometheus?.enabled);
376
+ }
377
+
331
378
  protected _buildArgOptions(program: Command): void {}
332
379
 
333
380
  public getProgram(): Command {
@@ -349,9 +396,7 @@ export abstract class Application
349
396
  return this.getConfig().request_size_limit;
350
397
  }
351
398
 
352
- private async $attachHandlers(): Promise<void> {
353
- this.attachHandler('/_health', new HealthHandler(this));
354
- }
399
+ private async $attachHandlers(): Promise<void> {}
355
400
 
356
401
  /**
357
402
  *
@@ -143,10 +143,28 @@ export class ConfigLoader<TConfig extends IConfig = IConfig> {
143
143
  properties: {
144
144
  bind: { type: [ 'string', 'null' ] },
145
145
  port: { type: [ 'number', 'null' ] },
146
+ shard: { type: [ 'number', 'null' ] },
146
147
  authentication_header: { type: [ 'string', 'null' ] },
147
148
  backend_authentication_header: { type: [ 'string', 'null' ] },
148
149
  backend_authentication_secret: { type: [ 'string', 'null' ] },
149
150
  request_size_limit: { type: [ 'number', 'null' ] },
151
+ prometheus: {
152
+ type: [ 'object', 'null' ],
153
+ additionalProperties: false,
154
+ properties: {
155
+ enabled: {
156
+ type: [ 'boolean', 'null'],
157
+ default: false
158
+ },
159
+ bind: {
160
+ type: [ 'string', 'null' ],
161
+ default: '127.0.0.1'
162
+ },
163
+ port: {
164
+ type: [ 'number', 'null' ]
165
+ }
166
+ }
167
+ },
150
168
  log: {
151
169
  type: [ 'object', 'null' ],
152
170
  additionalProperties: false,
package/src/Handler.ts CHANGED
@@ -26,6 +26,7 @@ import { BaseLogger } from '@arashi/logger';
26
26
  import { ResponseData } from './ResponseData';
27
27
  import { NotImplementedError } from './NotImplementedError';
28
28
  import { HTTPMethod } from './HTTPMethod';
29
+ import { IMetricHistogram, MetricStore } from './MetricStore';
29
30
 
30
31
  const TAG: string = 'Handler';
31
32
 
@@ -41,6 +42,12 @@ export class Handler<
41
42
  TDeleteResponse extends TSupportedResponseTypes = TSupportedResponseTypes
42
43
  > {
43
44
 
45
+ private static $requestDuration: IMetricHistogram = MetricStore.getInstance().createHistogram({
46
+ name: 'storm_http_request_duration_seconds',
47
+ help: 'HTTP request duration in seconds',
48
+ labelNames: ['method', 'route', 'status']
49
+ });
50
+
44
51
  private $app: TApplication;
45
52
 
46
53
  /**
@@ -148,6 +155,7 @@ export class Handler<
148
155
 
149
156
  public async get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void> {
150
157
  let startTime: Date = new Date();
158
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod.GET, route: request.getRoute() });
151
159
  this._logRequestStart(request);
152
160
 
153
161
  try {
@@ -159,11 +167,13 @@ export class Handler<
159
167
  this.$handleResponseError(response as Response<StormError>, ex);
160
168
  }
161
169
 
170
+ stopTimer({ status: String(response.getStatus()) });
162
171
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
163
172
  }
164
173
 
165
174
  public async put(request: Request<TPutRequest>, response: Response<TPutResponse>): Promise<void> {
166
175
  let startTime: Date = new Date();
176
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod.PUT, route: request.getRoute() });
167
177
  this._logRequestStart(request);
168
178
 
169
179
  try {
@@ -175,11 +185,13 @@ export class Handler<
175
185
  this.$handleResponseError(response as Response<StormError>, ex);
176
186
  }
177
187
 
188
+ stopTimer({ status: String(response.getStatus()) });
178
189
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
179
190
  }
180
191
 
181
192
  public async post(request: Request<TPostRequest>, response: Response<TPostResponse>): Promise<void> {
182
193
  let startTime: Date = new Date();
194
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod.POST, route: request.getRoute() });
183
195
  this._logRequestStart(request);
184
196
 
185
197
  try {
@@ -191,11 +203,13 @@ export class Handler<
191
203
  this.$handleResponseError(response as Response<StormError>, ex);
192
204
  }
193
205
 
206
+ stopTimer({ status: String(response.getStatus()) });
194
207
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
195
208
  }
196
209
 
197
210
  public async delete(request: Request<TDeleteRequest>, response: Response<TDeleteResponse>): Promise<void> {
198
211
  let startTime: Date = new Date();
212
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod.DELETE, route: request.getRoute() });
199
213
  this._logRequestStart(request);
200
214
 
201
215
  try {
@@ -207,6 +221,7 @@ export class Handler<
207
221
  this.$handleResponseError(response as Response<StormError>, ex);
208
222
  }
209
223
 
224
+ stopTimer({ status: String(response.getStatus()) });
210
225
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
211
226
  }
212
227
 
package/src/IConfig.ts CHANGED
@@ -42,13 +42,19 @@ export interface IConfig {
42
42
  authentication_header?: string;
43
43
  backend_authentication_header?: string;
44
44
  backend_authentication_secret?: string;
45
+
46
+ prometheus?: {
47
+ enabled?: boolean;
48
+ bind?: string;
49
+ port?: number;
50
+ };
45
51
 
46
52
  // Logging
47
53
  log?: {
48
54
  level?: LogLevel;
49
55
  filters?: string[];
50
56
  cloudwatch?: ICloudwatchConfig;
51
- },
57
+ };
52
58
 
53
59
  // Database
54
60
  database?: {