@promster/express 5.0.3 → 5.1.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/declarations/src/index.d.ts +3 -3
- package/dist/declarations/src/middleware/index.d.ts +2 -2
- package/dist/declarations/src/middleware/middleware.d.ts +23 -23
- package/dist/promster-express.cjs.dev.js +12 -18
- package/dist/promster-express.cjs.prod.js +12 -18
- package/package.json +4 -4
- package/CHANGELOG.md +0 -100
@@ -1,3 +1,3 @@
|
|
1
|
-
import { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp } from './middleware';
|
2
|
-
import { getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers } from '@promster/metrics';
|
3
|
-
export { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, };
|
1
|
+
import { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp } from './middleware';
|
2
|
+
import { getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers } from '@promster/metrics';
|
3
|
+
export { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, };
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp } from './middleware';
|
2
|
-
export { createMiddleware, signalIsUp, signalIsNotUp, getRequestRecorder };
|
1
|
+
import { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp } from './middleware';
|
2
|
+
export { createMiddleware, signalIsUp, signalIsNotUp, getRequestRecorder };
|
@@ -1,23 +1,23 @@
|
|
1
|
-
import type { TPromsterOptions } from '@promster/types';
|
2
|
-
import type { TRequestRecorder } from '@promster/metrics';
|
3
|
-
import { Application, Request, Response, NextFunction } from 'express';
|
4
|
-
import { Prometheus } from '@promster/metrics';
|
5
|
-
interface TApp extends Application {
|
6
|
-
locals: Record<string, unknown>;
|
7
|
-
}
|
8
|
-
declare type TLocaleTarget = {
|
9
|
-
app?: TApp;
|
10
|
-
key: string;
|
11
|
-
value: typeof Prometheus | TRequestRecorder;
|
12
|
-
};
|
13
|
-
declare const exposeOnLocals: ({ app, key, value }: TLocaleTarget) => void;
|
14
|
-
declare const extractPath: (req: Request) => string;
|
15
|
-
declare const getRequestRecorder: () => TRequestRecorder;
|
16
|
-
declare const signalIsUp: () => void;
|
17
|
-
declare const signalIsNotUp: () => void;
|
18
|
-
declare type TMiddlewareOptions = {
|
19
|
-
app?: TApp;
|
20
|
-
options?: TPromsterOptions;
|
21
|
-
};
|
22
|
-
declare const createMiddleware: ({ app, options }?: TMiddlewareOptions) => (request: Request, response: Response, next: NextFunction) => void;
|
23
|
-
export { createMiddleware, exposeOnLocals, extractPath, getRequestRecorder, signalIsUp, signalIsNotUp, };
|
1
|
+
import type { TPromsterOptions } from '@promster/types';
|
2
|
+
import type { TRequestRecorder } from '@promster/metrics';
|
3
|
+
import { Application, Request, Response, NextFunction } from 'express';
|
4
|
+
import { Prometheus } from '@promster/metrics';
|
5
|
+
interface TApp extends Application {
|
6
|
+
locals: Record<string, unknown>;
|
7
|
+
}
|
8
|
+
declare type TLocaleTarget = {
|
9
|
+
app?: TApp;
|
10
|
+
key: string;
|
11
|
+
value: typeof Prometheus | TRequestRecorder;
|
12
|
+
};
|
13
|
+
declare const exposeOnLocals: ({ app, key, value }: TLocaleTarget) => void;
|
14
|
+
declare const extractPath: (req: Request) => string;
|
15
|
+
declare const getRequestRecorder: () => TRequestRecorder;
|
16
|
+
declare const signalIsUp: () => void;
|
17
|
+
declare const signalIsNotUp: () => void;
|
18
|
+
declare type TMiddlewareOptions = {
|
19
|
+
app?: TApp;
|
20
|
+
options?: TPromsterOptions;
|
21
|
+
};
|
22
|
+
declare const createMiddleware: ({ app, options }?: TMiddlewareOptions) => (request: Request, response: Response, next: NextFunction) => void;
|
23
|
+
export { createMiddleware, exposeOnLocals, extractPath, getRequestRecorder, signalIsUp, signalIsNotUp, };
|
@@ -51,7 +51,7 @@ const createMiddleware = ({
|
|
51
51
|
app: undefined,
|
52
52
|
options: undefined
|
53
53
|
}) => {
|
54
|
-
const allDefaultedOptions = merge__default[
|
54
|
+
const allDefaultedOptions = merge__default["default"](metrics.createMetricTypes.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.defaultNormalizers, options);
|
55
55
|
const shouldSkipMetricsByEnvironment = allDefaultedOptions.detectKubernetes === true && !metrics.isRunningInKubernetes();
|
56
56
|
const metricTypes = metrics.createMetricTypes(allDefaultedOptions);
|
57
57
|
const observeGc = metrics.createGcObserver(metricTypes);
|
@@ -75,7 +75,7 @@ const createMiddleware = ({
|
|
75
75
|
return (request, response, next) => {
|
76
76
|
const start = process.hrtime();
|
77
77
|
response.on('finish', () => {
|
78
|
-
var _allDefaultedOptions$, _allDefaultedOptions$2;
|
78
|
+
var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
|
79
79
|
|
80
80
|
const labels = Object.assign({}, {
|
81
81
|
method: allDefaultedOptions.normalizeMethod(request.method, {
|
@@ -92,10 +92,14 @@ const createMiddleware = ({
|
|
92
92
|
})
|
93
93
|
}, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, response));
|
94
94
|
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$cont = request.headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
|
96
|
+
const responseContentLength = Number((_response$getHeader = response.getHeader('content-length')) !== null && _response$getHeader !== void 0 ? _response$getHeader : 0);
|
95
97
|
|
96
98
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
97
99
|
recordRequest(start, {
|
98
|
-
labels
|
100
|
+
labels,
|
101
|
+
requestContentLength,
|
102
|
+
responseContentLength
|
99
103
|
});
|
100
104
|
}
|
101
105
|
});
|
@@ -105,33 +109,23 @@ const createMiddleware = ({
|
|
105
109
|
|
106
110
|
Object.defineProperty(exports, 'Prometheus', {
|
107
111
|
enumerable: true,
|
108
|
-
get: function () {
|
109
|
-
return metrics.Prometheus;
|
110
|
-
}
|
112
|
+
get: function () { return metrics.Prometheus; }
|
111
113
|
});
|
112
114
|
Object.defineProperty(exports, 'defaultNormalizers', {
|
113
115
|
enumerable: true,
|
114
|
-
get: function () {
|
115
|
-
return metrics.defaultNormalizers;
|
116
|
-
}
|
116
|
+
get: function () { return metrics.defaultNormalizers; }
|
117
117
|
});
|
118
118
|
Object.defineProperty(exports, 'defaultRegister', {
|
119
119
|
enumerable: true,
|
120
|
-
get: function () {
|
121
|
-
return metrics.defaultRegister;
|
122
|
-
}
|
120
|
+
get: function () { return metrics.defaultRegister; }
|
123
121
|
});
|
124
122
|
Object.defineProperty(exports, 'getContentType', {
|
125
123
|
enumerable: true,
|
126
|
-
get: function () {
|
127
|
-
return metrics.getContentType;
|
128
|
-
}
|
124
|
+
get: function () { return metrics.getContentType; }
|
129
125
|
});
|
130
126
|
Object.defineProperty(exports, 'getSummary', {
|
131
127
|
enumerable: true,
|
132
|
-
get: function () {
|
133
|
-
return metrics.getSummary;
|
134
|
-
}
|
128
|
+
get: function () { return metrics.getSummary; }
|
135
129
|
});
|
136
130
|
exports.createMiddleware = createMiddleware;
|
137
131
|
exports.getRequestRecorder = getRequestRecorder;
|
@@ -51,7 +51,7 @@ const createMiddleware = ({
|
|
51
51
|
app: undefined,
|
52
52
|
options: undefined
|
53
53
|
}) => {
|
54
|
-
const allDefaultedOptions = merge__default[
|
54
|
+
const allDefaultedOptions = merge__default["default"](metrics.createMetricTypes.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.defaultNormalizers, options);
|
55
55
|
const shouldSkipMetricsByEnvironment = allDefaultedOptions.detectKubernetes === true && !metrics.isRunningInKubernetes();
|
56
56
|
const metricTypes = metrics.createMetricTypes(allDefaultedOptions);
|
57
57
|
const observeGc = metrics.createGcObserver(metricTypes);
|
@@ -75,7 +75,7 @@ const createMiddleware = ({
|
|
75
75
|
return (request, response, next) => {
|
76
76
|
const start = process.hrtime();
|
77
77
|
response.on('finish', () => {
|
78
|
-
var _allDefaultedOptions$, _allDefaultedOptions$2;
|
78
|
+
var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
|
79
79
|
|
80
80
|
const labels = Object.assign({}, {
|
81
81
|
method: allDefaultedOptions.normalizeMethod(request.method, {
|
@@ -92,10 +92,14 @@ const createMiddleware = ({
|
|
92
92
|
})
|
93
93
|
}, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, response));
|
94
94
|
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$cont = request.headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
|
96
|
+
const responseContentLength = Number((_response$getHeader = response.getHeader('content-length')) !== null && _response$getHeader !== void 0 ? _response$getHeader : 0);
|
95
97
|
|
96
98
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
97
99
|
recordRequest(start, {
|
98
|
-
labels
|
100
|
+
labels,
|
101
|
+
requestContentLength,
|
102
|
+
responseContentLength
|
99
103
|
});
|
100
104
|
}
|
101
105
|
});
|
@@ -105,33 +109,23 @@ const createMiddleware = ({
|
|
105
109
|
|
106
110
|
Object.defineProperty(exports, 'Prometheus', {
|
107
111
|
enumerable: true,
|
108
|
-
get: function () {
|
109
|
-
return metrics.Prometheus;
|
110
|
-
}
|
112
|
+
get: function () { return metrics.Prometheus; }
|
111
113
|
});
|
112
114
|
Object.defineProperty(exports, 'defaultNormalizers', {
|
113
115
|
enumerable: true,
|
114
|
-
get: function () {
|
115
|
-
return metrics.defaultNormalizers;
|
116
|
-
}
|
116
|
+
get: function () { return metrics.defaultNormalizers; }
|
117
117
|
});
|
118
118
|
Object.defineProperty(exports, 'defaultRegister', {
|
119
119
|
enumerable: true,
|
120
|
-
get: function () {
|
121
|
-
return metrics.defaultRegister;
|
122
|
-
}
|
120
|
+
get: function () { return metrics.defaultRegister; }
|
123
121
|
});
|
124
122
|
Object.defineProperty(exports, 'getContentType', {
|
125
123
|
enumerable: true,
|
126
|
-
get: function () {
|
127
|
-
return metrics.getContentType;
|
128
|
-
}
|
124
|
+
get: function () { return metrics.getContentType; }
|
129
125
|
});
|
130
126
|
Object.defineProperty(exports, 'getSummary', {
|
131
127
|
enumerable: true,
|
132
|
-
get: function () {
|
133
|
-
return metrics.getSummary;
|
134
|
-
}
|
128
|
+
get: function () { return metrics.getSummary; }
|
135
129
|
});
|
136
130
|
exports.createMiddleware = createMiddleware;
|
137
131
|
exports.getRequestRecorder = getRequestRecorder;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@promster/express",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.1.3",
|
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",
|
@@ -36,11 +36,11 @@
|
|
36
36
|
"prometheus"
|
37
37
|
],
|
38
38
|
"dependencies": {
|
39
|
-
"@promster/metrics": "^
|
39
|
+
"@promster/metrics": "^7.0.4",
|
40
40
|
"merge-options": "3.0.4",
|
41
|
-
"tslib": "2.
|
41
|
+
"tslib": "2.3.1"
|
42
42
|
},
|
43
43
|
"devDependencies": {
|
44
|
-
"@types/express": "4.17.
|
44
|
+
"@types/express": "4.17.13"
|
45
45
|
}
|
46
46
|
}
|
package/CHANGELOG.md
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
# @promster/express
|
2
|
-
|
3
|
-
## 5.0.3
|
4
|
-
|
5
|
-
### Patch Changes
|
6
|
-
|
7
|
-
- [#620](https://github.com/tdeekens/promster/pull/620) [`ec2a8f8`](https://github.com/tdeekens/promster/commit/ec2a8f83a94bbe63360cf7027eeba92895315a19) Thanks [@tdeekens](https://github.com/tdeekens)! - refactor: improve typings (not exposed part)
|
8
|
-
|
9
|
-
* [#618](https://github.com/tdeekens/promster/pull/618) [`bbab9ca`](https://github.com/tdeekens/promster/commit/bbab9cad6a3484e4894d159267d62e54e202812a) Thanks [@tdeekens](https://github.com/tdeekens)! - chore: update deps
|
10
|
-
|
11
|
-
* Updated dependencies [[`ec2a8f8`](https://github.com/tdeekens/promster/commit/ec2a8f83a94bbe63360cf7027eeba92895315a19), [`bbab9ca`](https://github.com/tdeekens/promster/commit/bbab9cad6a3484e4894d159267d62e54e202812a)]:
|
12
|
-
- @promster/metrics@6.0.2
|
13
|
-
|
14
|
-
## 5.0.2
|
15
|
-
|
16
|
-
### Patch Changes
|
17
|
-
|
18
|
-
- [#601](https://github.com/tdeekens/promster/pull/601) [`17a24dc`](https://github.com/tdeekens/promster/commit/17a24dc0d735478001524c853b9f54f862153852) Thanks [@tdeekens](https://github.com/tdeekens)! - Update dependencies and apply eslint rule suggestions.
|
19
|
-
|
20
|
-
- Updated dependencies [[`17a24dc`](https://github.com/tdeekens/promster/commit/17a24dc0d735478001524c853b9f54f862153852)]:
|
21
|
-
- @promster/metrics@6.0.1
|
22
|
-
|
23
|
-
## 5.0.1
|
24
|
-
|
25
|
-
### Patch Changes
|
26
|
-
|
27
|
-
- Updated dependencies [[`daf8605`](https://github.com/tdeekens/promster/commit/daf86055e64cb420c83dbc7abbcd5024d449c53f)]:
|
28
|
-
- @promster/metrics@6.0.0
|
29
|
-
|
30
|
-
## 5.0.0
|
31
|
-
|
32
|
-
### Major Changes
|
33
|
-
|
34
|
-
- [`0eb64ca`](https://github.com/tdeekens/promster/commit/0eb64cac9a4a51dab1a556f46c97a2a5542bcc88) [#529](https://github.com/tdeekens/promster/pull/529) Thanks [@tdeekens](https://github.com/tdeekens)! - # Introduction
|
35
|
-
|
36
|
-
refactor: to use preconstruct for building
|
37
|
-
|
38
|
-
Prior TypeScript was used to build bundles. In all this should not affect consumers of this library. Under the hood preconstruct uses rollup and babel which is now instructed to build for Node.js v12 using the preset-env preset.
|
39
|
-
|
40
|
-
# Breaking Change
|
41
|
-
|
42
|
-
This release can _potentially_ be breaking for you. We want to respect semantic versioning and follow it strictly.
|
43
|
-
|
44
|
-
While migrating to preconstruct the `version` exports had to be removed as preconstruct's rollup will not resolve them. If you relied on this value you should either load the `package.json` of each module yourself or drop the usage.
|
45
|
-
|
46
|
-
```diff
|
47
|
-
- const { version } = require('@promster/server');
|
48
|
-
+ const { version } = require('@promster/server/package.json');
|
49
|
-
```
|
50
|
-
|
51
|
-
### Patch Changes
|
52
|
-
|
53
|
-
- [`bdf75de`](https://github.com/tdeekens/promster/commit/bdf75dec8d0ce6be65ecccf5963f348e1a0a96b3) [#531](https://github.com/tdeekens/promster/pull/531) Thanks [@tdeekens](https://github.com/tdeekens)! - fix: update dependencies
|
54
|
-
|
55
|
-
- Updated dependencies [[`bdf75de`](https://github.com/tdeekens/promster/commit/bdf75dec8d0ce6be65ecccf5963f348e1a0a96b3), [`0eb64ca`](https://github.com/tdeekens/promster/commit/0eb64cac9a4a51dab1a556f46c97a2a5542bcc88)]:
|
56
|
-
- @promster/metrics@5.0.0
|
57
|
-
|
58
|
-
## 4.1.15
|
59
|
-
|
60
|
-
### Patch Changes
|
61
|
-
|
62
|
-
- [`a0dc407`](https://github.com/tdeekens/promster/commit/a0dc407f1ceca1129942b30b7149a0d4e2b5fef8) [#500](https://github.com/tdeekens/promster/pull/500) Thanks [@natoehv](https://github.com/natoehv)! - changed TApp typing
|
63
|
-
|
64
|
-
## 4.1.14
|
65
|
-
|
66
|
-
### Patch Changes
|
67
|
-
|
68
|
-
- [`4c3af06`](https://github.com/tdeekens/promster/commit/4c3af06bc0b65eb067f195591e48839e632375bd) [#483](https://github.com/tdeekens/promster/pull/483) Thanks [@tdeekens](https://github.com/tdeekens)! - chore: update dependencies
|
69
|
-
|
70
|
-
- Updated dependencies [[`4c3af06`](https://github.com/tdeekens/promster/commit/4c3af06bc0b65eb067f195591e48839e632375bd)]:
|
71
|
-
- @promster/metrics@4.1.13
|
72
|
-
|
73
|
-
## 4.1.13
|
74
|
-
|
75
|
-
### Patch Changes
|
76
|
-
|
77
|
-
- [`158e7b9`](https://github.com/tdeekens/promster/commit/158e7b9af01133db54376bb96dbdccdd96bfa7a3) Thanks [@tdeekens](https://github.com/tdeekens)! - Dependency updates across all packages
|
78
|
-
|
79
|
-
- Updated dependencies [[`158e7b9`](https://github.com/tdeekens/promster/commit/158e7b9af01133db54376bb96dbdccdd96bfa7a3)]:
|
80
|
-
- @promster/metrics@4.1.12
|
81
|
-
|
82
|
-
## 4.1.12
|
83
|
-
|
84
|
-
### Patch Changes
|
85
|
-
|
86
|
-
- [`7853faa`](https://github.com/tdeekens/promster/commit/7853faa4e140eaae0622fb7c66d8145d258d7f5e) [#447](https://github.com/tdeekens/promster/pull/447) Thanks [@tdeekens](https://github.com/tdeekens)! - chore: update deps
|
87
|
-
|
88
|
-
- Updated dependencies [[`7853faa`](https://github.com/tdeekens/promster/commit/7853faa4e140eaae0622fb7c66d8145d258d7f5e)]:
|
89
|
-
- @promster/metrics@4.1.11
|
90
|
-
|
91
|
-
## 4.1.11
|
92
|
-
|
93
|
-
### Patch Changes
|
94
|
-
|
95
|
-
- [`c2b8e0d`](https://github.com/tdeekens/promster/commit/c2b8e0d472b6e31e053460d8f714eaf790a17eb9) [#358](https://github.com/tdeekens/promster/pull/358) Thanks [@tdeekens](https://github.com/tdeekens)! - Update dependencies.
|
96
|
-
|
97
|
-
* [`6f99f64`](https://github.com/tdeekens/promster/commit/6f99f644ccd2cd0b60c172968266c3ac3f76e826) [#360](https://github.com/tdeekens/promster/pull/360) Thanks [@tdeekens](https://github.com/tdeekens)! - Update to eslint v7
|
98
|
-
|
99
|
-
* Updated dependencies [[`c2b8e0d`](https://github.com/tdeekens/promster/commit/c2b8e0d472b6e31e053460d8f714eaf790a17eb9), [`6f99f64`](https://github.com/tdeekens/promster/commit/6f99f644ccd2cd0b60c172968266c3ac3f76e826)]:
|
100
|
-
- @promster/metrics@4.1.10
|