@promster/marblejs 6.0.4 → 7.0.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.
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { TPromsterOptions } from '@promster/types';
|
|
2
2
|
import type { TRequestRecorder } from '@promster/metrics';
|
|
3
|
-
import { HttpRequest } from '@marblejs/core';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
3
|
+
import type { HttpRequest } from '@marblejs/core';
|
|
4
|
+
import { type Observable } from 'rxjs';
|
|
5
5
|
declare const extractPath: (req: HttpRequest) => string;
|
|
6
6
|
declare const getRequestRecorder: () => TRequestRecorder;
|
|
7
7
|
declare const signalIsUp: () => void;
|
|
8
8
|
declare const signalIsNotUp: () => void;
|
|
9
|
-
|
|
9
|
+
type TMiddlewareOptions = {
|
|
10
10
|
options?: TPromsterOptions;
|
|
11
11
|
};
|
|
12
12
|
declare const createMiddleware: ({ options }?: TMiddlewareOptions) => (req$: Observable<HttpRequest>, res: HttpResponse) => Observable<HttpRequest>;
|
|
@@ -12,38 +12,30 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
|
|
|
12
12
|
var merge__default = /*#__PURE__*/_interopDefault(merge);
|
|
13
13
|
|
|
14
14
|
const extractPath = req => req.originalUrl || req.url;
|
|
15
|
-
|
|
16
15
|
let recordRequest;
|
|
17
16
|
let upMetric;
|
|
18
|
-
|
|
19
17
|
const getRequestRecorder = () => recordRequest;
|
|
20
|
-
|
|
21
18
|
const signalIsUp = () => {
|
|
22
19
|
if (!upMetric) {
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
upMetric.forEach(upMetricType => {
|
|
27
23
|
upMetricType.set(1);
|
|
28
24
|
});
|
|
29
25
|
};
|
|
30
|
-
|
|
31
26
|
const signalIsNotUp = () => {
|
|
32
27
|
if (!upMetric) {
|
|
33
28
|
return;
|
|
34
29
|
}
|
|
35
|
-
|
|
36
30
|
upMetric.forEach(upMetricType => {
|
|
37
31
|
upMetricType.set(0);
|
|
38
32
|
});
|
|
39
33
|
};
|
|
40
|
-
|
|
41
34
|
const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rxjs.fromEvent(res, 'finish').pipe(operators.take(1), operators.mapTo(stamp.req), operators.map(req => ({
|
|
42
35
|
req,
|
|
43
36
|
res
|
|
44
37
|
}))).subscribe(() => {
|
|
45
38
|
var _opts$getLabelValues, _opts$skip, _res$getHeader, _req$headers$content;
|
|
46
|
-
|
|
47
39
|
const {
|
|
48
40
|
req,
|
|
49
41
|
timing
|
|
@@ -65,7 +57,6 @@ const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rx
|
|
|
65
57
|
const shouldSkipByRequest = (_opts$skip = opts.skip) === null || _opts$skip === void 0 ? void 0 : _opts$skip.call(opts, req, res, labels);
|
|
66
58
|
const responseContentLength = Number((_res$getHeader = res.getHeader('content-length')) !== null && _res$getHeader !== void 0 ? _res$getHeader : 0);
|
|
67
59
|
const requestContentLength = Number((_req$headers$content = req.headers['content-length']) !== null && _req$headers$content !== void 0 ? _req$headers$content : 0);
|
|
68
|
-
|
|
69
60
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
|
70
61
|
recordRequest(timing, {
|
|
71
62
|
labels,
|
|
@@ -74,7 +65,6 @@ const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rx
|
|
|
74
65
|
});
|
|
75
66
|
}
|
|
76
67
|
});
|
|
77
|
-
|
|
78
68
|
const createMiddleware = ({
|
|
79
69
|
options
|
|
80
70
|
} = {}) => {
|
|
@@ -85,11 +75,9 @@ const createMiddleware = ({
|
|
|
85
75
|
const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
|
|
86
76
|
recordRequest = metrics.createRequestRecorder(httpMetrics, allDefaultedOptions);
|
|
87
77
|
upMetric = gcMetrics === null || gcMetrics === void 0 ? void 0 : gcMetrics.up;
|
|
88
|
-
|
|
89
78
|
if (!shouldSkipMetricsByEnvironment) {
|
|
90
79
|
observeGc();
|
|
91
80
|
}
|
|
92
|
-
|
|
93
81
|
function middleware(req$, res) {
|
|
94
82
|
return req$.pipe(operators.map(req => ({
|
|
95
83
|
req,
|
|
@@ -98,7 +86,6 @@ const createMiddleware = ({
|
|
|
98
86
|
req
|
|
99
87
|
}) => req));
|
|
100
88
|
}
|
|
101
|
-
|
|
102
89
|
return middleware;
|
|
103
90
|
};
|
|
104
91
|
|
|
@@ -12,38 +12,30 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
|
|
|
12
12
|
var merge__default = /*#__PURE__*/_interopDefault(merge);
|
|
13
13
|
|
|
14
14
|
const extractPath = req => req.originalUrl || req.url;
|
|
15
|
-
|
|
16
15
|
let recordRequest;
|
|
17
16
|
let upMetric;
|
|
18
|
-
|
|
19
17
|
const getRequestRecorder = () => recordRequest;
|
|
20
|
-
|
|
21
18
|
const signalIsUp = () => {
|
|
22
19
|
if (!upMetric) {
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
upMetric.forEach(upMetricType => {
|
|
27
23
|
upMetricType.set(1);
|
|
28
24
|
});
|
|
29
25
|
};
|
|
30
|
-
|
|
31
26
|
const signalIsNotUp = () => {
|
|
32
27
|
if (!upMetric) {
|
|
33
28
|
return;
|
|
34
29
|
}
|
|
35
|
-
|
|
36
30
|
upMetric.forEach(upMetricType => {
|
|
37
31
|
upMetricType.set(0);
|
|
38
32
|
});
|
|
39
33
|
};
|
|
40
|
-
|
|
41
34
|
const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rxjs.fromEvent(res, 'finish').pipe(operators.take(1), operators.mapTo(stamp.req), operators.map(req => ({
|
|
42
35
|
req,
|
|
43
36
|
res
|
|
44
37
|
}))).subscribe(() => {
|
|
45
38
|
var _opts$getLabelValues, _opts$skip, _res$getHeader, _req$headers$content;
|
|
46
|
-
|
|
47
39
|
const {
|
|
48
40
|
req,
|
|
49
41
|
timing
|
|
@@ -65,7 +57,6 @@ const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rx
|
|
|
65
57
|
const shouldSkipByRequest = (_opts$skip = opts.skip) === null || _opts$skip === void 0 ? void 0 : _opts$skip.call(opts, req, res, labels);
|
|
66
58
|
const responseContentLength = Number((_res$getHeader = res.getHeader('content-length')) !== null && _res$getHeader !== void 0 ? _res$getHeader : 0);
|
|
67
59
|
const requestContentLength = Number((_req$headers$content = req.headers['content-length']) !== null && _req$headers$content !== void 0 ? _req$headers$content : 0);
|
|
68
|
-
|
|
69
60
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
|
70
61
|
recordRequest(timing, {
|
|
71
62
|
labels,
|
|
@@ -74,7 +65,6 @@ const recordHandler = (res, shouldSkipMetricsByEnvironment, opts) => stamp => rx
|
|
|
74
65
|
});
|
|
75
66
|
}
|
|
76
67
|
});
|
|
77
|
-
|
|
78
68
|
const createMiddleware = ({
|
|
79
69
|
options
|
|
80
70
|
} = {}) => {
|
|
@@ -85,11 +75,9 @@ const createMiddleware = ({
|
|
|
85
75
|
const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
|
|
86
76
|
recordRequest = metrics.createRequestRecorder(httpMetrics, allDefaultedOptions);
|
|
87
77
|
upMetric = gcMetrics === null || gcMetrics === void 0 ? void 0 : gcMetrics.up;
|
|
88
|
-
|
|
89
78
|
if (!shouldSkipMetricsByEnvironment) {
|
|
90
79
|
observeGc();
|
|
91
80
|
}
|
|
92
|
-
|
|
93
81
|
function middleware(req$, res) {
|
|
94
82
|
return req$.pipe(operators.map(req => ({
|
|
95
83
|
req,
|
|
@@ -98,7 +86,6 @@ const createMiddleware = ({
|
|
|
98
86
|
req
|
|
99
87
|
}) => req));
|
|
100
88
|
}
|
|
101
|
-
|
|
102
89
|
return middleware;
|
|
103
90
|
};
|
|
104
91
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promster/marblejs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "MarbleJs server integrations of promster",
|
|
5
5
|
"main": "dist/promster-marblejs.cjs.js",
|
|
6
6
|
"typings": "dist/promster-marblejs.cjs.d.ts",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"engines": {
|
|
19
|
-
"node": ">=
|
|
20
|
-
"npm": ">=
|
|
19
|
+
"node": ">=16",
|
|
20
|
+
"npm": ">=8"
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
@@ -36,15 +36,16 @@
|
|
|
36
36
|
"prometheus"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@promster/metrics": "^
|
|
39
|
+
"@promster/metrics": "^10.0.0",
|
|
40
40
|
"merge-options": "3.0.4",
|
|
41
41
|
"rxjs": "^6.6.7",
|
|
42
|
-
"tslib": "2.
|
|
42
|
+
"tslib": "2.4.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@marblejs/core": "4.0
|
|
46
|
-
"@marblejs/http": "4.0
|
|
47
|
-
"fp-ts": "2.
|
|
48
|
-
"parse-prometheus-text-format": "1.1.1"
|
|
45
|
+
"@marblejs/core": "4.1.0",
|
|
46
|
+
"@marblejs/http": "4.1.0",
|
|
47
|
+
"fp-ts": "2.16.0",
|
|
48
|
+
"parse-prometheus-text-format": "1.1.1",
|
|
49
|
+
"@promster/server": "8.0.0"
|
|
49
50
|
}
|
|
50
|
-
}
|
|
51
|
+
}
|