@promster/express 5.1.3 → 7.0.2
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.
@@ -1,3 +1,3 @@
|
|
1
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, };
|
2
|
+
import { getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, timing } from '@promster/metrics';
|
3
|
+
export { createMiddleware, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, timing, };
|
@@ -51,12 +51,13 @@ const createMiddleware = ({
|
|
51
51
|
app: undefined,
|
52
52
|
options: undefined
|
53
53
|
}) => {
|
54
|
-
const allDefaultedOptions = merge__default["default"](metrics.
|
55
|
-
const shouldSkipMetricsByEnvironment =
|
56
|
-
const
|
57
|
-
const
|
58
|
-
|
59
|
-
|
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',
|
@@ -73,7 +74,7 @@ const createMiddleware = ({
|
|
73
74
|
}
|
74
75
|
|
75
76
|
return (request, response, next) => {
|
76
|
-
const
|
77
|
+
const requestTiming = metrics.timing.start();
|
77
78
|
response.on('finish', () => {
|
78
79
|
var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
|
79
80
|
|
@@ -96,7 +97,7 @@ const createMiddleware = ({
|
|
96
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
|
-
recordRequest(
|
100
|
+
recordRequest(requestTiming, {
|
100
101
|
labels,
|
101
102
|
requestContentLength,
|
102
103
|
responseContentLength
|
@@ -127,6 +128,10 @@ Object.defineProperty(exports, 'getSummary', {
|
|
127
128
|
enumerable: true,
|
128
129
|
get: function () { return metrics.getSummary; }
|
129
130
|
});
|
131
|
+
Object.defineProperty(exports, 'timing', {
|
132
|
+
enumerable: true,
|
133
|
+
get: function () { return metrics.timing; }
|
134
|
+
});
|
130
135
|
exports.createMiddleware = createMiddleware;
|
131
136
|
exports.getRequestRecorder = getRequestRecorder;
|
132
137
|
exports.signalIsNotUp = signalIsNotUp;
|
@@ -51,12 +51,13 @@ const createMiddleware = ({
|
|
51
51
|
app: undefined,
|
52
52
|
options: undefined
|
53
53
|
}) => {
|
54
|
-
const allDefaultedOptions = merge__default["default"](metrics.
|
55
|
-
const shouldSkipMetricsByEnvironment =
|
56
|
-
const
|
57
|
-
const
|
58
|
-
|
59
|
-
|
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',
|
@@ -73,7 +74,7 @@ const createMiddleware = ({
|
|
73
74
|
}
|
74
75
|
|
75
76
|
return (request, response, next) => {
|
76
|
-
const
|
77
|
+
const requestTiming = metrics.timing.start();
|
77
78
|
response.on('finish', () => {
|
78
79
|
var _allDefaultedOptions$, _allDefaultedOptions$2, _request$headers$cont, _response$getHeader;
|
79
80
|
|
@@ -96,7 +97,7 @@ const createMiddleware = ({
|
|
96
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
|
-
recordRequest(
|
100
|
+
recordRequest(requestTiming, {
|
100
101
|
labels,
|
101
102
|
requestContentLength,
|
102
103
|
responseContentLength
|
@@ -127,6 +128,10 @@ Object.defineProperty(exports, 'getSummary', {
|
|
127
128
|
enumerable: true,
|
128
129
|
get: function () { return metrics.getSummary; }
|
129
130
|
});
|
131
|
+
Object.defineProperty(exports, 'timing', {
|
132
|
+
enumerable: true,
|
133
|
+
get: function () { return metrics.timing; }
|
134
|
+
});
|
130
135
|
exports.createMiddleware = createMiddleware;
|
131
136
|
exports.getRequestRecorder = getRequestRecorder;
|
132
137
|
exports.signalIsNotUp = signalIsNotUp;
|
package/package.json
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "@promster/express",
|
3
|
-
"version": "
|
3
|
+
"version": "7.0.2",
|
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": ">=
|
18
|
-
"npm": ">=
|
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": "
|
24
|
+
"url": "https://github.com/tdeekens/promster.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": "^
|
39
|
+
"@promster/metrics": "^9.1.1",
|
40
40
|
"merge-options": "3.0.4",
|
41
41
|
"tslib": "2.3.1"
|
42
42
|
},
|
43
43
|
"devDependencies": {
|
44
|
-
"@
|
44
|
+
"@promster/server": "7.0.3",
|
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
|
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`
|