@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
@@ -31,7 +31,9 @@ const http = tslib_1.__importStar(require("http"));
31
31
  const Path = tslib_1.__importStar(require("path"));
32
32
  const logger_1 = require("@arashi/logger");
33
33
  const StormError_1 = require("./StormError");
34
- const HealthHandler_1 = require("./handlers/HealthHandler");
34
+ const PrometheusServer_1 = require("./PrometheusServer");
35
+ const MetricStore_1 = require("./MetricStore");
36
+ const OS = tslib_1.__importStar(require("node:os"));
35
37
  const TAG = 'Application';
36
38
  /**
37
39
  * Main entry point for the Application. Should be extended and have the abstract methods implemented.
@@ -73,13 +75,37 @@ class Application extends events_1.EventEmitter {
73
75
  this.$getLogger().error(TAG, error);
74
76
  }
75
77
  }
78
+ async $initPrometheus() {
79
+ let config = this.getConfig();
80
+ if (!config.prometheus?.enabled) {
81
+ return;
82
+ }
83
+ this.$getLogger().info(TAG, 'Initializing Prometheus');
84
+ this.$promServer = new PrometheusServer_1.PrometheusServer(this);
85
+ this.$promServer.start();
86
+ }
87
+ /**
88
+ * Default algorithm is to take main port, and add 595 to it.
89
+ * Still -- it is better to explicitly set the prometheus port.
90
+ *
91
+ * @param mainPort
92
+ * @returns
93
+ */
94
+ getDefaultPortForPrometheus() {
95
+ return this.getPort() + 595;
96
+ }
76
97
  async $load() {
77
98
  this.$config = await this.$loadConfig();
78
- // console.log('WTF', this.$config);
79
99
  this.$logger = await this._initLogger(this.$config);
80
100
  this.$getLogger().trace(TAG, 'Configuration loaded.');
81
101
  this.emit(ApplicationEvent_1.ApplicationEvent.CONFIG_LOADED);
82
102
  this._onConfigLoad(this.$config);
103
+ MetricStore_1.MetricStore.getInstance().setDefaultLabels({
104
+ name: this.getName(),
105
+ environment: process.env.NODE_ENV ?? 'development',
106
+ hostname: OS.hostname(),
107
+ shard: String(this.getShard() ?? 0)
108
+ });
83
109
  this.$getLogger().trace(TAG, 'Initializing DB...');
84
110
  this.$db = await this._initDB(this.getConfig());
85
111
  if (this.$db) {
@@ -104,6 +130,7 @@ class Application extends events_1.EventEmitter {
104
130
  type: 'text/*',
105
131
  limit: this.getRequestSizeLimit()
106
132
  }));
133
+ await this.$initPrometheus();
107
134
  this.$getLogger().trace(TAG, 'Attaching handlers...');
108
135
  await this.$attachHandlers();
109
136
  await this._attachHandlers();
@@ -223,11 +250,20 @@ class Application extends events_1.EventEmitter {
223
250
  this.$program.allowExcessArguments(true);
224
251
  this.$program.option('--port <port>', 'The running port to consume');
225
252
  this.$program.option('--bind <ip>', 'The binding IP to listen on');
253
+ this.$program.option('--shard <integer>', 'The shard identifier. Must be an integer');
226
254
  this.$program.option('--authentication_header <header>', 'The header name of the authentication token');
227
255
  this.$program.option('--config <path>', 'The path to the bt-config.json file');
228
256
  this.$program.option('--local-config <path>', 'The path to the bt-local-config.json file.');
257
+ this.$program.option('--prometheus-port <port>', 'The port for prometheus metrics server to use.');
258
+ this.$program.option('--prometheus-bind <ip>', 'The bind for prometheus metrics server to use.');
229
259
  this._buildArgOptions(this.$program);
230
260
  }
261
+ getShard() {
262
+ return this.getCmdLineArgs().shard;
263
+ }
264
+ isPrometheusEnabled() {
265
+ return !!(this.getConfig()?.prometheus?.enabled);
266
+ }
231
267
  _buildArgOptions(program) { }
232
268
  getProgram() {
233
269
  return this.$program;
@@ -245,9 +281,7 @@ class Application extends events_1.EventEmitter {
245
281
  getRequestSizeLimit() {
246
282
  return this.getConfig().request_size_limit;
247
283
  }
248
- async $attachHandlers() {
249
- this.attachHandler('/_health', new HealthHandler_1.HealthHandler(this));
250
- }
284
+ async $attachHandlers() { }
251
285
  /**
252
286
  *
253
287
  * @param path The URL API path. E.g. /api/myService/myCommand/
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
@@ -114,10 +114,28 @@ class ConfigLoader {
114
114
  properties: {
115
115
  bind: { type: ['string', 'null'] },
116
116
  port: { type: ['number', 'null'] },
117
+ shard: { type: ['number', 'null'] },
117
118
  authentication_header: { type: ['string', 'null'] },
118
119
  backend_authentication_header: { type: ['string', 'null'] },
119
120
  backend_authentication_secret: { type: ['string', 'null'] },
120
121
  request_size_limit: { type: ['number', 'null'] },
122
+ prometheus: {
123
+ type: ['object', 'null'],
124
+ additionalProperties: false,
125
+ properties: {
126
+ enabled: {
127
+ type: ['boolean', 'null'],
128
+ default: false
129
+ },
130
+ bind: {
131
+ type: ['string', 'null'],
132
+ default: '127.0.0.1'
133
+ },
134
+ port: {
135
+ type: ['number', 'null']
136
+ }
137
+ }
138
+ },
121
139
  log: {
122
140
  type: ['object', 'null'],
123
141
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../src/ConfigLoader.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,iDAAiD;;;;AAEjD;;;;;;;;;;;;;;EAcE;AAEF,yCAAuC;AAEvC,mDAA6B;AAG7B,sDAAsB;AACtB,kFAAiD;AACjD,6DAA0D;AAC1D,6DAA0D;AAE1D,MAAM,GAAG,GAAW,cAAc,CAAC;AAEnC,MAAa,YAAY;IAIrB,YAAmB,GAAgB;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,eAAuB;QACzD,IAAI,MAAM,GAAe,IAAI,CAAC,OAAO,CAAC;QAEtC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAE3C,IAAI,MAAM,GAAqB,EAAE,CAAC;QAElC,IAAI,KAAK,GAAW,UAAU,CAAC;QAC/B,IAAI,KAAK,GAAW,eAAe,CAAC;QAEpC,IAAI,CAAU,CAAC;QACf,IAAI,CAAU,CAAC;QACf,IAAI,QAAQ,GAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAEnD,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEhC,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,sBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;aACI,CAAC;YACF,MAAM,GAAG,sBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,MAAM,GAAG,sBAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,6DAA6D;QAC7D,MAAM,CAAC,YAAY,GAAG,sBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAE1B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEnC,OAAO,MAAiB,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QACjC,IAAI,MAAM,GAAiB,IAAI,YAAY,CAAU,IAAA,sBAAW,GAAE,CAAC,CAAC;QACpE,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzG,CAAC;IAEO,eAAe,CAAC,IAAY;QAChC,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;QAC1D,IAAI,CAAC;YACD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,IAAY;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QACnD,IAAI,CAAC,GAAY,IAAI,CAAC;QACtB,IAAI,CAAC;YACD,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAwB;QAClD,IAAI,GAAG,GAAQ,IAAI,aAAG,CAAC;YACnB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACR,IAAI,EAA4B,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,IAAI,EAA4B,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,qBAAqB,EAAW,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,6BAA6B,EAAG,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,6BAA6B,EAAG,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,kBAAkB,EAAc,EAAE,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE,EAAE;gBAC9D,GAAG,EAAE;oBACD,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE;oBAC1B,oBAAoB,EAAE,KAAK;oBAC3B,UAAU,EAAE;wBACR,KAAK,EAAE;4BACH,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE;4BAC1B,IAAI,EAAE;gCACF,OAAO;gCACP,OAAO;gCACP,SAAS;gCACT,MAAM;gCACN,MAAM;gCACN,MAAM;gCACN,OAAO;gCACP,IAAI;6BACP;yBACJ;wBACD,UAAU,EAAE;4BACR,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE;4BAC1B,oBAAoB,EAAE,KAAK;4BAC3B,UAAU,EAAE;gCACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC1B,WAAW,EAAE;oCACT,IAAI,EAAE,QAAQ;oCACd,oBAAoB,EAAE,KAAK;oCAC3B,UAAU,EAAE;wCACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC/B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCACtC;iCACJ;gCACD,MAAM,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,oBAAoB,EAAE,KAAK;oCAC3B,UAAU,EAAE;wCACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC3B;iCACJ;6BACJ;yBACJ;wBACD,OAAO,EAAE;4BACL,IAAI,EAAE,CAAE,OAAO,EAAE,MAAM,CAAE;4BACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;qBACJ;iBACJ;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE;oBAC1B,oBAAoB,EAAE,KAAK;oBAC3B,UAAU,EAAE;wBACR,aAAa,EAAE,EAAE,IAAI,EAAE,CAAE,SAAS,EAAE,MAAM,CAAE,EAAE,OAAO,EAAE,CAAC,EAAE;wBAC1D,IAAI,EAAE;4BACF,IAAI,EAAE,CAAE,QAAQ,EAAE,MAAM,CAAE;4BAC1B,oBAAoB,EAAE,KAAK;4BAC3B,UAAU,EAAE;gCACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gCACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gCACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC/B;yBACJ;wBACD,gBAAgB,EAAE;4BACd,IAAI,EAAE,CAAE,OAAO,EAAE,MAAM,CAAE;4BACzB,KAAK,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,oBAAoB,EAAE,KAAK;gCAC3B,UAAU,EAAE;oCACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;oCACrC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC/B;6BACJ;yBACJ;qBACJ;iBACJ;gBACD,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAE,SAAS,EAAE,MAAM,CAAE,EAAC;gBAC3D,YAAY,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,oBAAoB,EAAE,IAAI;oBAC1B,UAAU,EAAE,EAAE;iBACjB;aACJ;SACJ,CAAC,CAAC;QAEH,IAAI,OAAO,GAAY,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,uCAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAEO,eAAe;QACnB,IAAI,OAAO,GAAkB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAExD,IAAI,GAAG,GAAqB,EAAE,CAAA;QAE9B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC9D,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAxOD,oCAwOC"}
1
+ {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../src/ConfigLoader.ts"],"names":[],"mappings":"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"}
package/lib/Handler.d.ts CHANGED
@@ -5,6 +5,7 @@ import { Middleware } from './Middleware';
5
5
  import { StormError } from './StormError';
6
6
  import { ResponseData } from './ResponseData';
7
7
  export declare class Handler<TApplication extends Application = Application, TGetRequest = void, TGetResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TPostRequest = void, TPostResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TPutRequest = void, TPutResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TDeleteRequest = void, TDeleteResponse extends TSupportedResponseTypes = TSupportedResponseTypes> {
8
+ private static $requestDuration;
8
9
  private $app;
9
10
  /**
10
11
  * @deprecated
package/lib/Handler.js CHANGED
@@ -20,6 +20,7 @@ const StormError_1 = require("./StormError");
20
20
  const InternalError_1 = require("./InternalError");
21
21
  const NotImplementedError_1 = require("./NotImplementedError");
22
22
  const HTTPMethod_1 = require("./HTTPMethod");
23
+ const MetricStore_1 = require("./MetricStore");
23
24
  const TAG = 'Handler';
24
25
  class Handler {
25
26
  constructor(app) {
@@ -106,6 +107,7 @@ class Handler {
106
107
  }
107
108
  async get(request, response) {
108
109
  let startTime = new Date();
110
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod_1.HTTPMethod.GET, route: request.getRoute() });
109
111
  this._logRequestStart(request);
110
112
  try {
111
113
  let result = await this.$executeMiddlewares(request, response);
@@ -115,10 +117,12 @@ class Handler {
115
117
  catch (ex) {
116
118
  this.$handleResponseError(response, ex);
117
119
  }
120
+ stopTimer({ status: String(response.getStatus()) });
118
121
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
119
122
  }
120
123
  async put(request, response) {
121
124
  let startTime = new Date();
125
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod_1.HTTPMethod.PUT, route: request.getRoute() });
122
126
  this._logRequestStart(request);
123
127
  try {
124
128
  let result = await this.$executeMiddlewares(request, response);
@@ -128,10 +132,12 @@ class Handler {
128
132
  catch (ex) {
129
133
  this.$handleResponseError(response, ex);
130
134
  }
135
+ stopTimer({ status: String(response.getStatus()) });
131
136
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
132
137
  }
133
138
  async post(request, response) {
134
139
  let startTime = new Date();
140
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod_1.HTTPMethod.POST, route: request.getRoute() });
135
141
  this._logRequestStart(request);
136
142
  try {
137
143
  let result = await this.$executeMiddlewares(request, response);
@@ -141,10 +147,12 @@ class Handler {
141
147
  catch (ex) {
142
148
  this.$handleResponseError(response, ex);
143
149
  }
150
+ stopTimer({ status: String(response.getStatus()) });
144
151
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
145
152
  }
146
153
  async delete(request, response) {
147
154
  let startTime = new Date();
155
+ let stopTimer = Handler.$requestDuration.startTimer({ method: HTTPMethod_1.HTTPMethod.DELETE, route: request.getRoute() });
148
156
  this._logRequestStart(request);
149
157
  try {
150
158
  let result = await this.$executeMiddlewares(request, response);
@@ -154,6 +162,7 @@ class Handler {
154
162
  catch (ex) {
155
163
  this.$handleResponseError(response, ex);
156
164
  }
165
+ stopTimer({ status: String(response.getStatus()) });
157
166
  this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
158
167
  }
159
168
  async _get(request) {
@@ -170,4 +179,9 @@ class Handler {
170
179
  }
171
180
  }
172
181
  exports.Handler = Handler;
182
+ Handler.$requestDuration = MetricStore_1.MetricStore.getInstance().createHistogram({
183
+ name: 'storm_http_request_duration_seconds',
184
+ help: 'HTTP request duration in seconds',
185
+ labelNames: ['method', 'route', 'status']
186
+ });
173
187
  //# sourceMappingURL=Handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":"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"}
package/lib/IConfig.d.ts CHANGED
@@ -19,6 +19,11 @@ export interface IConfig {
19
19
  authentication_header?: string;
20
20
  backend_authentication_header?: string;
21
21
  backend_authentication_secret?: string;
22
+ prometheus?: {
23
+ enabled?: boolean;
24
+ bind?: string;
25
+ port?: number;
26
+ };
22
27
  log?: {
23
28
  level?: LogLevel;
24
29
  filters?: string[];
@@ -1,12 +1,39 @@
1
- export type TSupportedMetricStoreValues = string | number | boolean;
1
+ export interface IMetricConfig {
2
+ name: string;
3
+ help: string;
4
+ labelNames?: string[];
5
+ }
6
+ export interface IMetricData {
7
+ type: string;
8
+ content: string;
9
+ }
10
+ export interface IHistogramConfig extends IMetricConfig {
11
+ buckets?: number[];
12
+ }
13
+ export interface IMetricCounter {
14
+ inc(value?: number): void;
15
+ inc(labels: Record<string, string | number>, value?: number): void;
16
+ }
17
+ export interface IMetricGauge {
18
+ set(value: number): void;
19
+ set(labels: Record<string, string | number>, value: number): void;
20
+ inc(value?: number): void;
21
+ inc(labels: Record<string, string | number>, value?: number): void;
22
+ dec(value?: number): void;
23
+ dec(labels: Record<string, string | number>, value?: number): void;
24
+ }
25
+ export interface IMetricHistogram {
26
+ observe(value: number): void;
27
+ observe(labels: Record<string, string | number>, value: number): void;
28
+ startTimer(labels?: Record<string, string | number>): (labels?: Record<string, string | number>) => number;
29
+ }
2
30
  export declare class MetricStore {
3
31
  private static $instance;
4
- private $data;
5
32
  private constructor();
6
33
  static getInstance(): MetricStore;
7
- purge(): void;
8
- set(key: string, value: TSupportedMetricStoreValues): void;
9
- get(key: string): TSupportedMetricStoreValues | null;
10
- increment(key: string): void;
11
- decrement(key: string): void;
34
+ setDefaultLabels(labels: Record<string, string>): void;
35
+ createCounter(config: IMetricConfig): IMetricCounter;
36
+ createGauge(config: IMetricConfig): IMetricGauge;
37
+ createHistogram(config: IHistogramConfig): IMetricHistogram;
38
+ getMetrics(): Promise<IMetricData>;
12
39
  }
@@ -1,48 +1,113 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetricStore = void 0;
4
- class MetricStore {
5
- constructor() {
6
- this.$data = {};
4
+ const tslib_1 = require("tslib");
5
+ const prom = tslib_1.__importStar(require("prom-client"));
6
+ class CounterWrapper {
7
+ constructor(config) {
8
+ this.$inner = new prom.Counter({
9
+ name: config.name,
10
+ help: config.help,
11
+ labelNames: config.labelNames ?? []
12
+ });
13
+ }
14
+ inc(labelsOrValue, value) {
15
+ if (typeof labelsOrValue === 'number') {
16
+ this.$inner.inc(labelsOrValue);
17
+ }
18
+ else if (labelsOrValue !== undefined) {
19
+ this.$inner.inc(labelsOrValue, value);
20
+ }
21
+ else {
22
+ this.$inner.inc();
23
+ }
24
+ }
25
+ }
26
+ class GaugeWrapper {
27
+ constructor(config) {
28
+ this.$inner = new prom.Gauge({
29
+ name: config.name,
30
+ help: config.help,
31
+ labelNames: config.labelNames ?? []
32
+ });
7
33
  }
34
+ set(labelsOrValue, value) {
35
+ if (typeof labelsOrValue === 'number') {
36
+ this.$inner.set(labelsOrValue);
37
+ }
38
+ else {
39
+ this.$inner.set(labelsOrValue, value);
40
+ }
41
+ }
42
+ inc(labelsOrValue, value) {
43
+ if (typeof labelsOrValue === 'number') {
44
+ this.$inner.inc(labelsOrValue);
45
+ }
46
+ else if (labelsOrValue !== undefined) {
47
+ this.$inner.inc(labelsOrValue, value);
48
+ }
49
+ else {
50
+ this.$inner.inc();
51
+ }
52
+ }
53
+ dec(labelsOrValue, value) {
54
+ if (typeof labelsOrValue === 'number') {
55
+ this.$inner.dec(labelsOrValue);
56
+ }
57
+ else if (labelsOrValue !== undefined) {
58
+ this.$inner.dec(labelsOrValue, value);
59
+ }
60
+ else {
61
+ this.$inner.dec();
62
+ }
63
+ }
64
+ }
65
+ class HistogramWrapper {
66
+ constructor(config) {
67
+ this.$inner = new prom.Histogram({
68
+ name: config.name,
69
+ help: config.help,
70
+ labelNames: config.labelNames ?? [],
71
+ ...(config.buckets !== undefined ? { buckets: config.buckets } : {})
72
+ });
73
+ }
74
+ observe(labelsOrValue, value) {
75
+ if (typeof labelsOrValue === 'number') {
76
+ this.$inner.observe(labelsOrValue);
77
+ }
78
+ else {
79
+ this.$inner.observe(labelsOrValue, value);
80
+ }
81
+ }
82
+ startTimer(labels) {
83
+ return this.$inner.startTimer(labels);
84
+ }
85
+ }
86
+ class MetricStore {
87
+ constructor() { }
8
88
  static getInstance() {
9
89
  if (!MetricStore.$instance) {
10
90
  MetricStore.$instance = new MetricStore();
11
91
  }
12
92
  return MetricStore.$instance;
13
93
  }
14
- purge() {
15
- this.$data = {};
94
+ setDefaultLabels(labels) {
95
+ prom.register.setDefaultLabels(labels);
16
96
  }
17
- set(key, value) {
18
- this.$data[key] = value;
97
+ createCounter(config) {
98
+ return new CounterWrapper(config);
19
99
  }
20
- get(key) {
21
- let value = this.$data[key];
22
- if (value === undefined)
23
- return null;
24
- return value;
100
+ createGauge(config) {
101
+ return new GaugeWrapper(config);
25
102
  }
26
- increment(key) {
27
- let value = this.get(key);
28
- if (!value) {
29
- value = 0;
30
- }
31
- if (typeof value !== 'number') {
32
- this.set(key, 0);
33
- return;
34
- }
35
- value++;
36
- this.set(key, value);
103
+ createHistogram(config) {
104
+ return new HistogramWrapper(config);
37
105
  }
38
- decrement(key) {
39
- let value = this.get(key);
40
- if (value === null || value === undefined || typeof value !== 'number') {
41
- this.set(key, 0);
42
- return;
43
- }
44
- value--;
45
- this.set(key, value);
106
+ async getMetrics() {
107
+ return {
108
+ type: prom.register.contentType,
109
+ content: await prom.register.metrics()
110
+ };
46
111
  }
47
112
  }
48
113
  exports.MetricStore = MetricStore;
@@ -1 +1 @@
1
- {"version":3,"file":"MetricStore.js","sourceRoot":"","sources":["../src/MetricStore.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IAKpB;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,WAAW,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAkC;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEM,GAAG,CAAC,GAAW;QAClB,IAAI,KAAK,GAAgC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,IAAI,KAAK,GAAgC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG,CAAC,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO;QACX,CAAC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAEM,SAAS,CAAC,GAAW;QACxB,IAAI,KAAK,GAAgC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO;QACX,CAAC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;CACJ;AAzDD,kCAyDC"}
1
+ {"version":3,"file":"MetricStore.js","sourceRoot":"","sources":["../src/MetricStore.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,15 @@ import { IDatabasePosition } from './IDatabasePosition';
6
6
  import { IQueryable } from './IQueryable';
7
7
  import { TransactionAccessLevel } from './TransactionAccessLevel';
8
8
  import { IGetMySQLVersionResult } from './GetMySQLVersion';
9
+ import { IMetricGauge } from './MetricStore';
9
10
  export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
10
11
  private $transaction;
11
12
  private $opened;
12
13
  private $hasReplicationEnabled;
13
14
  private $isMasterConnection;
14
15
  private $version;
15
- constructor(connection: MySQL.PoolConnection, instantiationStack: string, isReadOnly?: boolean);
16
+ private $activeConnectionsGauge;
17
+ constructor(connection: MySQL.PoolConnection, instantiationStack: string, isReadOnly?: boolean, activeConnectionsGauge?: IMetricGauge | null);
16
18
  /**
17
19
  * @internal - Do not use in application code
18
20
  */
@@ -35,7 +35,6 @@ const GetProcessList_1 = require("./private/GetProcessList");
35
35
  const GetMySQLVersion_1 = require("./GetMySQLVersion");
36
36
  const GetPrimaryPositionQuery_1 = require("./private/GetPrimaryPositionQuery");
37
37
  const queryFormatter_1 = require("./mysql/queryFormatter");
38
- const MetricStore_1 = require("./MetricStore");
39
38
  const DEFAULT_HIGH_WATERMARK = 512; // in number of result objects
40
39
  const TAG = 'MySQLConnection';
41
40
  const SQL_FORMATTING_OPTIONS = {
@@ -55,7 +54,7 @@ const SQL_FORMATTING_OPTIONS = {
55
54
  let commitQuery = new CommitQuery_1.CommitQuery();
56
55
  let rollbackQuery = new RollbackQuery_1.RollbackQuery();
57
56
  class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
58
- constructor(connection, instantiationStack, isReadOnly = true) {
57
+ constructor(connection, instantiationStack, isReadOnly = true, activeConnectionsGauge = null) {
59
58
  connection.config.namedPlaceholders = true;
60
59
  if (!(0, instance_1.getInstance)().getConfig().enableMySQL2BreakingChanges) {
61
60
  connection.config.typeCast = function (field, next) {
@@ -87,6 +86,7 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
87
86
  this.$opened = true;
88
87
  this.$transaction = false;
89
88
  this.$isMasterConnection = null;
89
+ this.$activeConnectionsGauge = activeConnectionsGauge;
90
90
  }
91
91
  /**
92
92
  * @internal - Do not use in application code
@@ -287,6 +287,7 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
287
287
  return Promise.reject(new Error('Cannot close a connection while there is an active transaction. Use commit or rollback first.'));
288
288
  }
289
289
  this.$opened = false;
290
+ this.$activeConnectionsGauge?.dec();
290
291
  if (forceClose) {
291
292
  if (this.isTransaction()) {
292
293
  try {
@@ -298,7 +299,6 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
298
299
  }
299
300
  }
300
301
  this.getAPI().release();
301
- MetricStore_1.MetricStore.getInstance().decrement('mysql.active_connections');
302
302
  }
303
303
  }
304
304
  exports.MySQLConnection = MySQLConnection;