@promster/express 5.1.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -51,12 +51,13 @@ const createMiddleware = ({
51
51
  app: undefined,
52
52
  options: undefined
53
53
  }) => {
54
- const allDefaultedOptions = merge__default["default"](metrics.createMetricTypes.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.defaultNormalizers, options);
55
- const shouldSkipMetricsByEnvironment = allDefaultedOptions.detectKubernetes === true && !metrics.isRunningInKubernetes();
56
- const metricTypes = metrics.createMetricTypes(allDefaultedOptions);
57
- const observeGc = metrics.createGcObserver(metricTypes);
58
- recordRequest = metrics.createRequestRecorder(metricTypes, allDefaultedOptions);
59
- upMetric = metricTypes === null || metricTypes === void 0 ? void 0 : metricTypes.up;
54
+ const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, options);
55
+ const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
56
+ const httpMetrics = metrics.createHttpMetrics(allDefaultedOptions);
57
+ const gcMetrics = metrics.createGcMetrics(allDefaultedOptions);
58
+ const observeGc = metrics.createGcObserver(gcMetrics, allDefaultedOptions);
59
+ recordRequest = metrics.createRequestRecorder(httpMetrics, allDefaultedOptions);
60
+ upMetric = gcMetrics === null || gcMetrics === void 0 ? void 0 : gcMetrics.up;
60
61
  exposeOnLocals({
61
62
  app,
62
63
  key: 'Prometheus',
@@ -75,7 +76,7 @@ const createMiddleware = ({
75
76
  return (request, response, next) => {
76
77
  const start = process.hrtime();
77
78
  response.on('finish', () => {
78
- var _allDefaultedOptions$, _allDefaultedOptions$2;
79
+ var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
79
80
 
80
81
  const labels = Object.assign({}, {
81
82
  method: allDefaultedOptions.normalizeMethod(request.method, {
@@ -92,8 +93,8 @@ const createMiddleware = ({
92
93
  })
93
94
  }, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, response));
94
95
  const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
95
- const requestContentLength = Number(request.headers['content-length']);
96
- const responseContentLength = Number(response.getHeader('content-length'));
96
+ const requestContentLength = Number((_request$headers$cont = request.headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
97
+ const responseContentLength = Number((_response$getHeader = response.getHeader('content-length')) !== null && _response$getHeader !== void 0 ? _response$getHeader : 0);
97
98
 
98
99
  if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
99
100
  recordRequest(start, {
@@ -51,12 +51,13 @@ const createMiddleware = ({
51
51
  app: undefined,
52
52
  options: undefined
53
53
  }) => {
54
- const allDefaultedOptions = merge__default["default"](metrics.createMetricTypes.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.defaultNormalizers, options);
55
- const shouldSkipMetricsByEnvironment = allDefaultedOptions.detectKubernetes === true && !metrics.isRunningInKubernetes();
56
- const metricTypes = metrics.createMetricTypes(allDefaultedOptions);
57
- const observeGc = metrics.createGcObserver(metricTypes);
58
- recordRequest = metrics.createRequestRecorder(metricTypes, allDefaultedOptions);
59
- upMetric = metricTypes === null || metricTypes === void 0 ? void 0 : metricTypes.up;
54
+ const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, options);
55
+ const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
56
+ const httpMetrics = metrics.createHttpMetrics(allDefaultedOptions);
57
+ const gcMetrics = metrics.createGcMetrics(allDefaultedOptions);
58
+ const observeGc = metrics.createGcObserver(gcMetrics, allDefaultedOptions);
59
+ recordRequest = metrics.createRequestRecorder(httpMetrics, allDefaultedOptions);
60
+ upMetric = gcMetrics === null || gcMetrics === void 0 ? void 0 : gcMetrics.up;
60
61
  exposeOnLocals({
61
62
  app,
62
63
  key: 'Prometheus',
@@ -75,7 +76,7 @@ const createMiddleware = ({
75
76
  return (request, response, next) => {
76
77
  const start = process.hrtime();
77
78
  response.on('finish', () => {
78
- var _allDefaultedOptions$, _allDefaultedOptions$2;
79
+ var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
79
80
 
80
81
  const labels = Object.assign({}, {
81
82
  method: allDefaultedOptions.normalizeMethod(request.method, {
@@ -92,8 +93,8 @@ const createMiddleware = ({
92
93
  })
93
94
  }, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, response));
94
95
  const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
95
- const requestContentLength = Number(request.headers['content-length']);
96
- const responseContentLength = Number(response.getHeader('content-length'));
96
+ const requestContentLength = Number((_request$headers$cont = request.headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
97
+ const responseContentLength = Number((_response$getHeader = response.getHeader('content-length')) !== null && _response$getHeader !== void 0 ? _response$getHeader : 0);
97
98
 
98
99
  if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
99
100
  recordRequest(start, {
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@promster/express",
3
- "version": "5.1.1",
3
+ "version": "7.0.0",
4
4
  "description": "Express server integrations of promster",
5
5
  "main": "dist/promster-express.cjs.js",
6
6
  "typings": "dist/promster-express.cjs.d.ts",
7
7
  "types": "dist/promster-express.cjs.d.ts",
8
- "scripts": {},
9
8
  "files": [
10
9
  "readme.md",
11
10
  "package.json",
@@ -14,15 +13,16 @@
14
13
  "modules/**"
15
14
  ],
16
15
  "engines": {
17
- "node": ">=9",
18
- "npm": ">=3"
16
+ "node": ">=14",
17
+ "npm": ">=6"
19
18
  },
20
19
  "publishConfig": {
21
20
  "access": "public"
22
21
  },
23
22
  "repository": {
24
23
  "type": "git",
25
- "url": "git+https://github.com/tdeekens/promster.git"
24
+ "url": "https://github.com/tdeekens/flopflip.git",
25
+ "directory": "packages/express"
26
26
  },
27
27
  "author": "Tobias Deekens <nerd@tdeekens.name>",
28
28
  "license": "MIT",
@@ -36,11 +36,15 @@
36
36
  "prometheus"
37
37
  ],
38
38
  "dependencies": {
39
- "@promster/metrics": "^7.0.1",
39
+ "@promster/metrics": "^9.0.0",
40
40
  "merge-options": "3.0.4",
41
41
  "tslib": "2.3.1"
42
42
  },
43
43
  "devDependencies": {
44
- "@types/express": "4.17.13"
44
+ "@promster/server": "7.0.1",
45
+ "@types/express": "4.17.13",
46
+ "express": "4.17.1",
47
+ "node-fetch": "2.6.6",
48
+ "parse-prometheus-text-format": "1.1.1"
45
49
  }
46
50
  }
package/readme.md CHANGED
@@ -1,6 +1,5 @@
1
1
  <p align="center">
2
- <b style="font-size: 25px">⏰ Promster - Measure metrics from Hapi/Express servers with Prometheus 🚦</b><br />
3
- <i>Promster is an Prometheus Exporter for Node.js servers written with Express or Hapi.</i>
2
+ <b style="font-size: 25px">⏰ Promster - Measure metrics from Hapi/Express servers with Prometheus 🚦</b>
4
3
  </p>
5
4
 
6
5
  ### `@promster/express`