@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
- declare type TMiddlewareOptions = {
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": "6.0.4",
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": ">=14",
20
- "npm": ">=6"
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": "^9.1.5",
39
+ "@promster/metrics": "^10.0.0",
40
40
  "merge-options": "3.0.4",
41
41
  "rxjs": "^6.6.7",
42
- "tslib": "2.3.1"
42
+ "tslib": "2.4.1"
43
43
  },
44
44
  "devDependencies": {
45
- "@marblejs/core": "4.0.3",
46
- "@marblejs/http": "4.0.3",
47
- "fp-ts": "2.11.9",
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
+ }