@hyperttp/metrics 1.0.1 → 1.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.
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/package.json +5 -28
- package/plugin.d.ts +14 -0
- package/plugin.d.ts.map +1 -0
- package/plugin.js +58 -0
- package/plugin.js.map +1 -0
- package/{dist/utils → utils}/MetricsManager.d.ts +1 -3
- package/utils/MetricsManager.d.ts.map +1 -0
- package/{dist/utils → utils}/MetricsManager.js +12 -8
- package/utils/MetricsManager.js.map +1 -0
- package/LICENSE +0 -21
- package/README.md +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/plugin.d.ts +0 -16
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugin.js +0 -51
- package/dist/plugin.js.map +0 -1
- package/dist/utils/MetricsManager.d.ts.map +0 -1
- package/dist/utils/MetricsManager.js.map +0 -1
- /package/{dist/types → types}/metrics.d.ts +0 -0
- /package/{dist/types → types}/metrics.d.ts.map +0 -0
- /package/{dist/types → types}/metrics.js +0 -0
- /package/{dist/types → types}/metrics.js.map +0 -0
package/index.d.ts
ADDED
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,oBAAoB,CAAC"}
|
package/index.js
ADDED
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperttp/metrics",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "./
|
|
6
|
-
"types": "./
|
|
7
|
-
"files": [
|
|
8
|
-
"dist"
|
|
9
|
-
],
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
10
7
|
"keywords": [
|
|
11
8
|
"hyperttp"
|
|
12
9
|
],
|
|
@@ -18,29 +15,9 @@
|
|
|
18
15
|
},
|
|
19
16
|
"peerDependencies": {
|
|
20
17
|
"typescript": "^5",
|
|
21
|
-
"@hyperttp/core": "^1
|
|
22
|
-
},
|
|
23
|
-
"devDependencies": {
|
|
24
|
-
"@eslint/js": "^10.0.1",
|
|
25
|
-
"globals": "^17.6.0",
|
|
26
|
-
"typescript-eslint": "^8.59.4",
|
|
27
|
-
"@types/bun": "latest",
|
|
28
|
-
"@types/node": "latest",
|
|
29
|
-
"typescript": "^6.0.3",
|
|
30
|
-
"vitest": "latest",
|
|
31
|
-
"prettier": "latest",
|
|
32
|
-
"eslint": "latest",
|
|
33
|
-
"jiti": "^2.7.0"
|
|
34
|
-
},
|
|
35
|
-
"scripts": {
|
|
36
|
-
"build": "tsc",
|
|
37
|
-
"typecheck": "tsc --noEmit",
|
|
38
|
-
"lint": "eslint 'src/**/*.{ts,js}'",
|
|
39
|
-
"format": "prettier --write .",
|
|
40
|
-
"test": "vitest run",
|
|
41
|
-
"dev": "tsx src/index.ts"
|
|
18
|
+
"@hyperttp/core": "^1"
|
|
42
19
|
},
|
|
43
20
|
"dependencies": {
|
|
44
21
|
"lru-cache": "^11.5.0"
|
|
45
22
|
}
|
|
46
|
-
}
|
|
23
|
+
}
|
package/plugin.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HyperPlugin, RequestMetrics, HyperCore } from "@hyperttp/core";
|
|
2
|
+
import type { MetricsOptions } from "./types/metrics.js";
|
|
3
|
+
export type MetricsCoreExtension = HyperCore & {
|
|
4
|
+
getAllMetrics: () => RequestMetrics[];
|
|
5
|
+
};
|
|
6
|
+
declare module "@hyperttp/core" {
|
|
7
|
+
interface HyperttpPluginsExtension {
|
|
8
|
+
metrics?: MetricsOptions & {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare function withMetrics(options?: Partial<MetricsOptions>): HyperPlugin;
|
|
14
|
+
//# sourceMappingURL=plugin.d.ts.map
|
package/plugin.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAIX,cAAc,EACd,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG;IAC7C,aAAa,EAAE,MAAM,cAAc,EAAE,CAAC;CACvC,CAAC;AAEF,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,wBAAwB;QAChC,OAAO,CAAC,EAAE,cAAc,GAAG;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClD;CACF;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CA4D1E"}
|
package/plugin.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MetricsManager } from "./utils/MetricsManager.js";
|
|
2
|
+
export function withMetrics(options) {
|
|
3
|
+
let metrics;
|
|
4
|
+
return {
|
|
5
|
+
name: "hyperttp-metrics",
|
|
6
|
+
phase: "START",
|
|
7
|
+
enabled: (config) => !!config.metrics?.enabled,
|
|
8
|
+
setup(core, config) {
|
|
9
|
+
const finalOptions = {
|
|
10
|
+
...config.metrics,
|
|
11
|
+
...options,
|
|
12
|
+
};
|
|
13
|
+
metrics = new MetricsManager(finalOptions);
|
|
14
|
+
const extendedCore = core;
|
|
15
|
+
extendedCore.getAllMetrics = () => metrics.getAll();
|
|
16
|
+
},
|
|
17
|
+
wrapDispatch: (next) => {
|
|
18
|
+
return async (req) => {
|
|
19
|
+
const start = performance.now();
|
|
20
|
+
try {
|
|
21
|
+
const result = await next(req);
|
|
22
|
+
const duration = performance.now() - start;
|
|
23
|
+
metrics.record({
|
|
24
|
+
url: req.url,
|
|
25
|
+
method: req.method,
|
|
26
|
+
duration,
|
|
27
|
+
statusCode: result.status || 200,
|
|
28
|
+
startTime: start,
|
|
29
|
+
endTime: performance.now(),
|
|
30
|
+
bytesReceived: 0,
|
|
31
|
+
bytesSent: 0,
|
|
32
|
+
retries: 0,
|
|
33
|
+
cached: false,
|
|
34
|
+
stages: (req.meta?.timings || {}),
|
|
35
|
+
});
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const duration = performance.now() - start;
|
|
40
|
+
metrics.record({
|
|
41
|
+
url: req.url,
|
|
42
|
+
method: req.method,
|
|
43
|
+
duration,
|
|
44
|
+
statusCode: error?.status || 500,
|
|
45
|
+
startTime: start,
|
|
46
|
+
endTime: performance.now(),
|
|
47
|
+
bytesReceived: 0,
|
|
48
|
+
bytesSent: 0,
|
|
49
|
+
retries: 0,
|
|
50
|
+
cached: false,
|
|
51
|
+
});
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=plugin.js.map
|
package/plugin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAa3D,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,IAAI,OAAuB,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO;QAEjE,KAAK,CAAC,IAAI,EAAE,MAAM;YAChB,MAAM,YAAY,GAAG;gBACnB,GAAG,MAAM,CAAC,OAAO;gBACjB,GAAG,OAAO;aACO,CAAC;YAEpB,OAAO,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,IAA4B,CAAC;YAClD,YAAY,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtD,CAAC;QAED,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,OAAO,KAAK,EAAK,GAAoB,EAA4B,EAAE;gBACjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAI,GAAG,CAAC,CAAC;oBAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBAE3C,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,QAAQ;wBACR,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG;wBAChC,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE;wBAC1B,aAAa,EAAE,CAAC;wBAChB,SAAS,EAAE,CAAC;wBACZ,OAAO,EAAE,CAAC;wBACV,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAQ;qBACzC,CAAC,CAAC;oBAEH,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,QAAQ;wBACR,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG;wBAChC,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE;wBAC1B,aAAa,EAAE,CAAC;wBAChB,SAAS,EAAE,CAAC;wBACZ,OAAO,EAAE,CAAC;wBACV,MAAM,EAAE,KAAK;qBACd,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare class MetricsManager {
|
|
|
8
8
|
private readonly slowRequestMs;
|
|
9
9
|
private readonly weights;
|
|
10
10
|
private _totalBytesAccumulator;
|
|
11
|
+
private _recordId;
|
|
11
12
|
constructor(config?: MetricsOptions);
|
|
12
13
|
private getScope;
|
|
13
14
|
private getOrCreateState;
|
|
@@ -36,9 +37,6 @@ export declare class MetricsManager {
|
|
|
36
37
|
private storeMetrics;
|
|
37
38
|
private updateCircuit;
|
|
38
39
|
private getFailureWeight;
|
|
39
|
-
/**
|
|
40
|
-
* ИСПРАВЛЕНИЕ: Работает с уже отсортированным массивом, не выделяет лишнюю память
|
|
41
|
-
*/
|
|
42
40
|
private percentileSorted;
|
|
43
41
|
private getOpenCircuitCount;
|
|
44
42
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../src/utils/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAE5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,SAAS,CAAK;gBAEV,MAAM,CAAC,EAAE,cAAc;IAyBnC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,gBAAgB;IAkBxB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgCnC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK9D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAgB5C,MAAM,IAAI,cAAc,EAAE;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU;;;;;;;;;;;;;;IAiDV,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,mBAAmB;CAO5B"}
|
|
@@ -8,6 +8,7 @@ export class MetricsManager {
|
|
|
8
8
|
slowRequestMs;
|
|
9
9
|
weights;
|
|
10
10
|
_totalBytesAccumulator = 0;
|
|
11
|
+
_recordId = 0;
|
|
11
12
|
constructor(config) {
|
|
12
13
|
this.history = new LRUCache({
|
|
13
14
|
max: config?.maxHistory ?? 1000,
|
|
@@ -111,6 +112,8 @@ export class MetricsManager {
|
|
|
111
112
|
let successful = 0;
|
|
112
113
|
let totalDuration = 0;
|
|
113
114
|
let maxDuration = 0;
|
|
115
|
+
let totalSerialization = 0;
|
|
116
|
+
let totalNetwork = 0;
|
|
114
117
|
const durations = new Array(total);
|
|
115
118
|
for (let i = 0; i < total; i++) {
|
|
116
119
|
const m = all[i];
|
|
@@ -123,10 +126,10 @@ export class MetricsManager {
|
|
|
123
126
|
maxDuration = m.duration;
|
|
124
127
|
}
|
|
125
128
|
durations[i] = m.duration;
|
|
129
|
+
totalSerialization += m.stages?.serializationMs ?? 0;
|
|
130
|
+
totalNetwork += m.stages?.networkMs ?? 0;
|
|
126
131
|
}
|
|
127
132
|
durations.sort((a, b) => a - b);
|
|
128
|
-
const avgSerialization = all.reduce((acc, m) => acc + (m.stages?.serializationMs ?? 0), 0) / total;
|
|
129
|
-
const avgNetwork = all.reduce((acc, m) => acc + (m.stages?.networkMs ?? 0), 0) / total;
|
|
130
133
|
return {
|
|
131
134
|
totalRequests: total,
|
|
132
135
|
successRate: (successful / total) * 100,
|
|
@@ -137,8 +140,8 @@ export class MetricsManager {
|
|
|
137
140
|
p99DurationMs: this.percentileSorted(durations, 99),
|
|
138
141
|
openCircuits: this.getOpenCircuitCount(),
|
|
139
142
|
bottlenecks: {
|
|
140
|
-
serialization:
|
|
141
|
-
network:
|
|
143
|
+
serialization: (totalSerialization / total).toFixed(2) + "ms",
|
|
144
|
+
network: (totalNetwork / total).toFixed(2) + "ms",
|
|
142
145
|
},
|
|
143
146
|
};
|
|
144
147
|
}
|
|
@@ -146,10 +149,14 @@ export class MetricsManager {
|
|
|
146
149
|
this.history.clear();
|
|
147
150
|
this.hostStates.clear();
|
|
148
151
|
this._totalBytesAccumulator = 0;
|
|
152
|
+
this._recordId = 0;
|
|
149
153
|
}
|
|
150
154
|
storeMetrics(metrics) {
|
|
151
|
-
const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
|
|
155
|
+
const key = `${metrics.method}:${metrics.url}:${Date.now()}:${this._recordId++}`;
|
|
152
156
|
this.history.set(key, metrics);
|
|
157
|
+
if (this._recordId > 1_000_000_000) {
|
|
158
|
+
this._recordId = 0;
|
|
159
|
+
}
|
|
153
160
|
}
|
|
154
161
|
updateCircuit(metrics) {
|
|
155
162
|
const scope = this.getScope(metrics.url);
|
|
@@ -191,9 +198,6 @@ export class MetricsManager {
|
|
|
191
198
|
return this.weights.other;
|
|
192
199
|
return 0;
|
|
193
200
|
}
|
|
194
|
-
/**
|
|
195
|
-
* ИСПРАВЛЕНИЕ: Работает с уже отсортированным массивом, не выделяет лишнюю память
|
|
196
|
-
*/
|
|
197
201
|
percentileSorted(sorted, p) {
|
|
198
202
|
if (sorted.length === 0)
|
|
199
203
|
return 0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../src/utils/MetricsManager.ts"],"names":[],"mappings":"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"}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 IT IF OR
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# hyperttp-metrics
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,oBAAoB,CAAC"}
|
package/dist/index.js
DELETED
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,cAAc,2BAA2B,CAAC"}
|
package/dist/plugin.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { HyperCore, HyperPlugin, RequestMetrics } from "@hyperttp/core";
|
|
2
|
-
import type { MetricsOptions } from "./types/metrics.js";
|
|
3
|
-
interface MetricsHyperCore extends HyperCore {
|
|
4
|
-
getAllMetrics: () => RequestMetrics[];
|
|
5
|
-
}
|
|
6
|
-
export declare function withMetrics(client: HyperCore, options?: MetricsOptions): MetricsHyperCore;
|
|
7
|
-
declare module "@hyperttp/core" {
|
|
8
|
-
interface HyperttpPluginsExtension {
|
|
9
|
-
metrics?: MetricsOptions & {
|
|
10
|
-
enabled: boolean;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export declare const MetricsPlugin: HyperPlugin;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAGX,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,UAAU,gBAAiB,SAAQ,SAAS;IAC1C,aAAa,EAAE,MAAM,cAAc,EAAE,CAAC;CACvC;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,gBAAgB,CA6ClB;AAED,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,wBAAwB;QAChC,OAAO,CAAC,EAAE,cAAc,GAAG;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KACjD;CACF;AAED,eAAO,MAAM,aAAa,EAAE,WAM3B,CAAC"}
|
package/dist/plugin.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { MetricsManager } from "./utils/MetricsManager.js";
|
|
2
|
-
export function withMetrics(client, options) {
|
|
3
|
-
const metrics = new MetricsManager(options);
|
|
4
|
-
const next = client.dispatch.bind(client);
|
|
5
|
-
client.dispatch = async (req) => {
|
|
6
|
-
const start = performance.now();
|
|
7
|
-
try {
|
|
8
|
-
const result = await next(req);
|
|
9
|
-
const duration = performance.now() - start;
|
|
10
|
-
metrics.record({
|
|
11
|
-
url: typeof req.url === "string" ? req.url : req.url.getURL(),
|
|
12
|
-
method: req.method,
|
|
13
|
-
duration,
|
|
14
|
-
statusCode: result.status || 200,
|
|
15
|
-
startTime: start,
|
|
16
|
-
endTime: performance.now(),
|
|
17
|
-
bytesReceived: 0,
|
|
18
|
-
bytesSent: 0,
|
|
19
|
-
retries: 0,
|
|
20
|
-
cached: false,
|
|
21
|
-
stages: req.meta?.timings || {},
|
|
22
|
-
});
|
|
23
|
-
return result;
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
metrics.record({
|
|
27
|
-
url: typeof req.url === "string" ? req.url : req.url.getURL(),
|
|
28
|
-
method: req.method,
|
|
29
|
-
duration: performance.now() - start,
|
|
30
|
-
statusCode: error?.status || 500,
|
|
31
|
-
startTime: start,
|
|
32
|
-
endTime: performance.now(),
|
|
33
|
-
bytesReceived: 0,
|
|
34
|
-
bytesSent: 0,
|
|
35
|
-
retries: 0,
|
|
36
|
-
cached: false,
|
|
37
|
-
});
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const extended = client;
|
|
42
|
-
extended.getAllMetrics = () => metrics.getAll();
|
|
43
|
-
return extended;
|
|
44
|
-
}
|
|
45
|
-
export const MetricsPlugin = {
|
|
46
|
-
name: "hyperttp-metrics",
|
|
47
|
-
phase: "START",
|
|
48
|
-
enabled: (config) => !!config.metrics?.enabled,
|
|
49
|
-
apply: (client, config) => withMetrics(client, config.metrics),
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAO3D,MAAM,UAAU,WAAW,CACzB,MAAiB,EACjB,OAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAW,GAAoB,EAAc,EAAE;QACpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAI,GAAG,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAE3C,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG;gBAChC,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE;gBAC1B,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;aAChC,CAAC,CAAC;YAEH,OAAO,MAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK;gBACnC,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG;gBAChC,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE;gBAC1B,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAA0B,CAAC;IAC5C,QAAQ,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO;IACjE,KAAK,EAAE,CAAC,MAAiB,EAAE,MAAyB,EAAE,EAAE,CACtD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;CACtC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../src/utils/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAE5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,OAAO,CAAC,sBAAsB,CAAK;gBAEvB,MAAM,CAAC,EAAE,cAAc;IAyBnC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,gBAAgB;IAkBxB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgCnC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK9D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAgB5C,MAAM,IAAI,cAAc,EAAE;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU;;;;;;;;;;;;;;IAiDV,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,mBAAmB;CAO5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../src/utils/MetricsManager.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|