hyperttp 0.2.2 → 0.2.4
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/dist/Hyperttp/Core/CacheManager.d.ts +26 -2
- package/dist/Hyperttp/Core/CacheManager.d.ts.map +1 -1
- package/dist/Hyperttp/Core/CacheManager.js +30 -13
- package/dist/Hyperttp/Core/CacheManager.js.map +1 -1
- package/dist/Hyperttp/Core/HttpClientImproved.d.ts +68 -98
- package/dist/Hyperttp/Core/HttpClientImproved.d.ts.map +1 -1
- package/dist/Hyperttp/Core/HttpClientImproved.js +311 -631
- package/dist/Hyperttp/Core/HttpClientImproved.js.map +1 -1
- package/dist/Hyperttp/Core/InterceptorManager.d.ts +62 -0
- package/dist/Hyperttp/Core/InterceptorManager.d.ts.map +1 -0
- package/dist/Hyperttp/Core/InterceptorManager.js +64 -0
- package/dist/Hyperttp/Core/InterceptorManager.js.map +1 -0
- package/dist/Hyperttp/Core/MetricsManager.d.ts +50 -2
- package/dist/Hyperttp/Core/MetricsManager.d.ts.map +1 -1
- package/dist/Hyperttp/Core/MetricsManager.js +48 -4
- package/dist/Hyperttp/Core/MetricsManager.js.map +1 -1
- package/dist/Hyperttp/Core/QueueManager.d.ts +5 -40
- package/dist/Hyperttp/Core/QueueManager.d.ts.map +1 -1
- package/dist/Hyperttp/Core/QueueManager.js +41 -54
- package/dist/Hyperttp/Core/QueueManager.js.map +1 -1
- package/dist/Hyperttp/Core/RateLimiter.d.ts +50 -0
- package/dist/Hyperttp/Core/RateLimiter.d.ts.map +1 -1
- package/dist/Hyperttp/Core/RateLimiter.js +39 -1
- package/dist/Hyperttp/Core/RateLimiter.js.map +1 -1
- package/dist/Hyperttp/Core/RequestBuilder.d.ts +44 -73
- package/dist/Hyperttp/Core/RequestBuilder.d.ts.map +1 -1
- package/dist/Hyperttp/Core/RequestBuilder.js +71 -106
- package/dist/Hyperttp/Core/RequestBuilder.js.map +1 -1
- package/dist/Hyperttp/Core/RequestExecutor.d.ts +58 -0
- package/dist/Hyperttp/Core/RequestExecutor.d.ts.map +1 -0
- package/dist/Hyperttp/Core/RequestExecutor.js +160 -0
- package/dist/Hyperttp/Core/RequestExecutor.js.map +1 -0
- package/dist/Hyperttp/Core/ResponseTransformer.d.ts +35 -0
- package/dist/Hyperttp/Core/ResponseTransformer.d.ts.map +1 -0
- package/dist/Hyperttp/Core/ResponseTransformer.js +171 -0
- package/dist/Hyperttp/Core/ResponseTransformer.js.map +1 -0
- package/dist/Hyperttp/Core/index.d.ts +3 -0
- package/dist/Hyperttp/Core/index.d.ts.map +1 -1
- package/dist/Hyperttp/Core/index.js +7 -1
- package/dist/Hyperttp/Core/index.js.map +1 -1
- package/dist/Hyperttp/Request.d.ts +9 -20
- package/dist/Hyperttp/Request.d.ts.map +1 -1
- package/dist/Hyperttp/Request.js +93 -85
- package/dist/Hyperttp/Request.js.map +1 -1
- package/dist/Types/index.d.ts +1 -0
- package/dist/Types/index.d.ts.map +1 -1
- package/dist/Types/request.d.ts +2 -3
- package/dist/Types/request.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { RequestInterceptor, ResponseInterceptor } from "../../Types";
|
|
2
|
+
/**
|
|
3
|
+
* @class InterceptorManager
|
|
4
|
+
* @en Manages registration and sequential execution of request and response interceptors.
|
|
5
|
+
* @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InterceptorManager {
|
|
8
|
+
private requestInterceptors;
|
|
9
|
+
private responseInterceptors;
|
|
10
|
+
/**
|
|
11
|
+
* @en Adds a request interceptor to the chain.
|
|
12
|
+
* @ru Добавляет перехватчик запроса в цепочку.
|
|
13
|
+
* @param interceptor - Function that modifies the request config.
|
|
14
|
+
*/
|
|
15
|
+
addRequest(interceptor: RequestInterceptor): void;
|
|
16
|
+
/**
|
|
17
|
+
* @en Adds a response interceptor to the chain.
|
|
18
|
+
* @ru Добавляет перехватчик ответа в цепочку.
|
|
19
|
+
* @param interceptor - Function that modifies the response data.
|
|
20
|
+
*/
|
|
21
|
+
addResponse(interceptor: ResponseInterceptor): void;
|
|
22
|
+
/**
|
|
23
|
+
* @en Sequentially applies all registered request interceptors.
|
|
24
|
+
* @ru Последовательно применяет все зарегистрированные перехватчики к конфигурации запроса.
|
|
25
|
+
* @param config - Current request configuration (url, method, headers, body).
|
|
26
|
+
* @returns Modified request configuration.
|
|
27
|
+
*/
|
|
28
|
+
applyRequest(config: {
|
|
29
|
+
url: string;
|
|
30
|
+
method: string;
|
|
31
|
+
headers: Record<string, string>;
|
|
32
|
+
body?: string | Buffer;
|
|
33
|
+
}): Promise<{
|
|
34
|
+
url: string;
|
|
35
|
+
method: string;
|
|
36
|
+
headers: Record<string, string>;
|
|
37
|
+
body?: string | Buffer;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* @en Sequentially applies all registered response interceptors.
|
|
41
|
+
* @ru Последовательно применяет все зарегистрированные перехватчики к полученному ответу.
|
|
42
|
+
* @param response - Raw response object (status, headers, body, url).
|
|
43
|
+
* @returns Modified response object.
|
|
44
|
+
*/
|
|
45
|
+
applyResponse(response: {
|
|
46
|
+
status: number;
|
|
47
|
+
headers: Record<string, any>;
|
|
48
|
+
body: Buffer;
|
|
49
|
+
url: string;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
status: number;
|
|
52
|
+
headers: Record<string, any>;
|
|
53
|
+
body: Buffer;
|
|
54
|
+
url: string;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* @en Clears all registered interceptors.
|
|
58
|
+
* @ru Полностью очищает все зарегистрированные перехватчики.
|
|
59
|
+
*/
|
|
60
|
+
clear(): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=InterceptorManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterceptorManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB;aAJM,MAAM;gBACH,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;eACxB,MAAM,GAAG,MAAM;;IASxB;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb;gBAJS,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;cACtB,MAAM;aACP,MAAM;;IASb;;;OAGG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InterceptorManager = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @class InterceptorManager
|
|
6
|
+
* @en Manages registration and sequential execution of request and response interceptors.
|
|
7
|
+
* @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
|
|
8
|
+
*/
|
|
9
|
+
class InterceptorManager {
|
|
10
|
+
requestInterceptors = [];
|
|
11
|
+
responseInterceptors = [];
|
|
12
|
+
/**
|
|
13
|
+
* @en Adds a request interceptor to the chain.
|
|
14
|
+
* @ru Добавляет перехватчик запроса в цепочку.
|
|
15
|
+
* @param interceptor - Function that modifies the request config.
|
|
16
|
+
*/
|
|
17
|
+
addRequest(interceptor) {
|
|
18
|
+
this.requestInterceptors.push(interceptor);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @en Adds a response interceptor to the chain.
|
|
22
|
+
* @ru Добавляет перехватчик ответа в цепочку.
|
|
23
|
+
* @param interceptor - Function that modifies the response data.
|
|
24
|
+
*/
|
|
25
|
+
addResponse(interceptor) {
|
|
26
|
+
this.responseInterceptors.push(interceptor);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @en Sequentially applies all registered request interceptors.
|
|
30
|
+
* @ru Последовательно применяет все зарегистрированные перехватчики к конфигурации запроса.
|
|
31
|
+
* @param config - Current request configuration (url, method, headers, body).
|
|
32
|
+
* @returns Modified request configuration.
|
|
33
|
+
*/
|
|
34
|
+
async applyRequest(config) {
|
|
35
|
+
let result = config;
|
|
36
|
+
for (const interceptor of this.requestInterceptors) {
|
|
37
|
+
result = await interceptor(result);
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @en Sequentially applies all registered response interceptors.
|
|
43
|
+
* @ru Последовательно применяет все зарегистрированные перехватчики к полученному ответу.
|
|
44
|
+
* @param response - Raw response object (status, headers, body, url).
|
|
45
|
+
* @returns Modified response object.
|
|
46
|
+
*/
|
|
47
|
+
async applyResponse(response) {
|
|
48
|
+
let result = response;
|
|
49
|
+
for (const interceptor of this.responseInterceptors) {
|
|
50
|
+
result = await interceptor(result);
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @en Clears all registered interceptors.
|
|
56
|
+
* @ru Полностью очищает все зарегистрированные перехватчики.
|
|
57
|
+
*/
|
|
58
|
+
clear() {
|
|
59
|
+
this.requestInterceptors = [];
|
|
60
|
+
this.responseInterceptors = [];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.InterceptorManager = InterceptorManager;
|
|
64
|
+
//# sourceMappingURL=InterceptorManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterceptorManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,MAAa,kBAAkB;IACrB,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,oBAAoB,GAA0B,EAAE,CAAC;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAA+B;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,WAAgC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAKlB;QACC,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAKnB;QACC,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AApED,gDAoEC"}
|
|
@@ -1,23 +1,67 @@
|
|
|
1
1
|
import { RequestMetrics } from "../../Types";
|
|
2
|
+
/**
|
|
3
|
+
* @interface MetricsConfig
|
|
4
|
+
* @en Configuration for the metrics and circuit breaker behavior.
|
|
5
|
+
* @ru Конфигурация для метрик и поведения предохранителя (circuit breaker).
|
|
6
|
+
*/
|
|
2
7
|
export interface MetricsConfig {
|
|
3
|
-
/**
|
|
8
|
+
/** * @en Maximum number of entries in history.
|
|
9
|
+
* @ru Максимальное количество записей в истории. (default: 1000)
|
|
10
|
+
*/
|
|
4
11
|
maxHistory?: number;
|
|
5
|
-
/**
|
|
12
|
+
/** * @en Time to keep metrics in ms.
|
|
13
|
+
* @ru Время хранения метрик в миллисекундах. (default: 1 hour)
|
|
14
|
+
*/
|
|
6
15
|
ttl?: number;
|
|
7
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* @class MetricsManager
|
|
19
|
+
* @en Collects request statistics and manages Circuit Breaker states for hosts.
|
|
20
|
+
* @ru Собирает статистику запросов и управляет состояниями Circuit Breaker для хостов.
|
|
21
|
+
*/
|
|
8
22
|
export declare class MetricsManager {
|
|
9
23
|
private history;
|
|
10
24
|
private hostStates;
|
|
11
25
|
private readonly failureThreshold;
|
|
12
26
|
private readonly resetTimeout;
|
|
27
|
+
private _totalBytesAccumulator;
|
|
13
28
|
constructor(config?: MetricsConfig);
|
|
29
|
+
/**
|
|
30
|
+
* @en Extracts a scope (host + base path) from a URL for granular circuit breaking.
|
|
31
|
+
* @ru Извлекает область (хост + базовый путь) из URL для точечной работы предохранителя.
|
|
32
|
+
*/
|
|
14
33
|
private getScope;
|
|
34
|
+
/**
|
|
35
|
+
* @en Records request metrics and updates host failure state.
|
|
36
|
+
* @ru Записывает метрики запроса и обновляет состояние ошибок хоста.
|
|
37
|
+
*/
|
|
15
38
|
record(metrics: RequestMetrics & {
|
|
16
39
|
cacheHit?: boolean;
|
|
17
40
|
}): void;
|
|
41
|
+
/**
|
|
42
|
+
* @en Gets a specific metric record by its generated key.
|
|
43
|
+
* @ru Получает конкретную запись метрики по её сгенерированному ключу.
|
|
44
|
+
*/
|
|
18
45
|
get(key: string): RequestMetrics | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* @en Returns all metrics currently stored in history.
|
|
48
|
+
* @ru Возвращает все метрики, хранящиеся в истории.
|
|
49
|
+
*/
|
|
19
50
|
getAll(): RequestMetrics[];
|
|
51
|
+
/**
|
|
52
|
+
* @en Checks if the circuit is open for a given URL (prevents request execution).
|
|
53
|
+
* @ru Проверяет, "разомкнута" ли цепь для данного URL (предотвращает выполнение запроса).
|
|
54
|
+
*/
|
|
20
55
|
isCircuitOpen(url: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* @en Increments total received bytes counter.
|
|
58
|
+
* @ru Увеличивает счетчик общего объема полученных байтов.
|
|
59
|
+
*/
|
|
60
|
+
recordBytes(bytes: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* @en Calculates performance summary statistics (Avg, P99, Success Rate).
|
|
63
|
+
* @ru Вычисляет сводную статистику производительности (Среднее, P99, % успеха).
|
|
64
|
+
*/
|
|
21
65
|
getSummary(): {
|
|
22
66
|
totalRequests: number;
|
|
23
67
|
successRate: number;
|
|
@@ -27,6 +71,10 @@ export declare class MetricsManager {
|
|
|
27
71
|
maxDurationMs: number;
|
|
28
72
|
p99DurationMs: number;
|
|
29
73
|
} | null;
|
|
74
|
+
/**
|
|
75
|
+
* @en Clears metrics history and host failure states.
|
|
76
|
+
* @ru Очищает историю метрик и состояния ошибок хостов.
|
|
77
|
+
*/
|
|
30
78
|
clear(): void;
|
|
31
79
|
}
|
|
32
80
|
//# sourceMappingURL=MetricsManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B
|
|
1
|
+
{"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,UAAU,CAMJ;IAEd,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,MAAM,CAAC,EAAE,aAAa;IAQlC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAwB9D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C;;;OAGG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAenC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC;;;OAGG;IACH,UAAU;;;;;;;;;IA8BV;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MetricsManager = void 0;
|
|
4
4
|
const lru_cache_1 = require("lru-cache");
|
|
5
|
+
/**
|
|
6
|
+
* @class MetricsManager
|
|
7
|
+
* @en Collects request statistics and manages Circuit Breaker states for hosts.
|
|
8
|
+
* @ru Собирает статистику запросов и управляет состояниями Circuit Breaker для хостов.
|
|
9
|
+
*/
|
|
5
10
|
class MetricsManager {
|
|
6
11
|
history;
|
|
7
12
|
hostStates = new Map();
|
|
8
13
|
failureThreshold = 5;
|
|
9
14
|
resetTimeout = 30000;
|
|
15
|
+
_totalBytesAccumulator = 0;
|
|
10
16
|
constructor(config) {
|
|
11
17
|
this.history = new lru_cache_1.LRUCache({
|
|
12
18
|
max: config?.maxHistory ?? 1000,
|
|
@@ -14,15 +20,24 @@ class MetricsManager {
|
|
|
14
20
|
ttlAutopurge: true,
|
|
15
21
|
});
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* @en Extracts a scope (host + base path) from a URL for granular circuit breaking.
|
|
25
|
+
* @ru Извлекает область (хост + базовый путь) из URL для точечной работы предохранителя.
|
|
26
|
+
*/
|
|
17
27
|
getScope(url) {
|
|
18
28
|
try {
|
|
19
29
|
const u = new URL(url);
|
|
30
|
+
// Берём хост и первый сегмент пути, чтобы не блокировать весь домен из-за одной API-ручки
|
|
20
31
|
return `${u.host}${u.pathname.split("/").slice(0, 2).join("/")}`;
|
|
21
32
|
}
|
|
22
33
|
catch {
|
|
23
34
|
return "unknown";
|
|
24
35
|
}
|
|
25
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* @en Records request metrics and updates host failure state.
|
|
39
|
+
* @ru Записывает метрики запроса и обновляет состояние ошибок хоста.
|
|
40
|
+
*/
|
|
26
41
|
record(metrics) {
|
|
27
42
|
const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
|
|
28
43
|
this.history.set(key, metrics);
|
|
@@ -39,15 +54,27 @@ class MetricsManager {
|
|
|
39
54
|
state.lastFailureTime = Date.now();
|
|
40
55
|
}
|
|
41
56
|
else {
|
|
42
|
-
state.consecutiveFailures = 0;
|
|
57
|
+
state.consecutiveFailures = 0; // Сброс при успешном запросе (сценарий "Half-Open")
|
|
43
58
|
}
|
|
44
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* @en Gets a specific metric record by its generated key.
|
|
62
|
+
* @ru Получает конкретную запись метрики по её сгенерированному ключу.
|
|
63
|
+
*/
|
|
45
64
|
get(key) {
|
|
46
65
|
return this.history.get(key);
|
|
47
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* @en Returns all metrics currently stored in history.
|
|
69
|
+
* @ru Возвращает все метрики, хранящиеся в истории.
|
|
70
|
+
*/
|
|
48
71
|
getAll() {
|
|
49
72
|
return Array.from(this.history.values());
|
|
50
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* @en Checks if the circuit is open for a given URL (prevents request execution).
|
|
76
|
+
* @ru Проверяет, "разомкнута" ли цепь для данного URL (предотвращает выполнение запроса).
|
|
77
|
+
*/
|
|
51
78
|
isCircuitOpen(url) {
|
|
52
79
|
const host = this.getScope(url);
|
|
53
80
|
const state = this.hostStates.get(host);
|
|
@@ -55,10 +82,23 @@ class MetricsManager {
|
|
|
55
82
|
return false;
|
|
56
83
|
if (state.consecutiveFailures >= this.failureThreshold) {
|
|
57
84
|
const timeSinceLastFailure = Date.now() - state.lastFailureTime;
|
|
85
|
+
// Если таймаут прошел, даем шанс (Half-Open), если нет — цепь разомкнута (Open)
|
|
58
86
|
return timeSinceLastFailure < this.resetTimeout;
|
|
59
87
|
}
|
|
60
88
|
return false;
|
|
61
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* @en Increments total received bytes counter.
|
|
92
|
+
* @ru Увеличивает счетчик общего объема полученных байтов.
|
|
93
|
+
*/
|
|
94
|
+
recordBytes(bytes) {
|
|
95
|
+
// Мы можем хранить общее количество байтов отдельно для глобальной статистики
|
|
96
|
+
this._totalBytesAccumulator = (this._totalBytesAccumulator || 0) + bytes;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @en Calculates performance summary statistics (Avg, P99, Success Rate).
|
|
100
|
+
* @ru Вычисляет сводную статистику производительности (Среднее, P99, % успеха).
|
|
101
|
+
*/
|
|
62
102
|
getSummary() {
|
|
63
103
|
const all = this.getAll();
|
|
64
104
|
const total = all.length;
|
|
@@ -66,13 +106,11 @@ class MetricsManager {
|
|
|
66
106
|
return null;
|
|
67
107
|
let successful = 0;
|
|
68
108
|
let totalDuration = 0;
|
|
69
|
-
let totalBytes = 0;
|
|
70
109
|
let maxDur = 0;
|
|
71
110
|
for (const m of all) {
|
|
72
111
|
if (m.statusCode && m.statusCode < 400)
|
|
73
112
|
successful++;
|
|
74
113
|
totalDuration += m.duration;
|
|
75
|
-
totalBytes += m.bytesReceived || 0;
|
|
76
114
|
if (m.duration > maxDur)
|
|
77
115
|
maxDur = m.duration;
|
|
78
116
|
}
|
|
@@ -82,14 +120,20 @@ class MetricsManager {
|
|
|
82
120
|
totalRequests: total,
|
|
83
121
|
successRate: (successful / total) * 100,
|
|
84
122
|
avgDurationMs: Math.round(totalDuration / total),
|
|
85
|
-
totalBytesReceived:
|
|
123
|
+
totalBytesReceived: this._totalBytesAccumulator,
|
|
86
124
|
errorCount: total - successful,
|
|
87
125
|
maxDurationMs: maxDur,
|
|
88
126
|
p99DurationMs: p99,
|
|
89
127
|
};
|
|
90
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* @en Clears metrics history and host failure states.
|
|
131
|
+
* @ru Очищает историю метрик и состояния ошибок хостов.
|
|
132
|
+
*/
|
|
91
133
|
clear() {
|
|
92
134
|
this.history.clear();
|
|
135
|
+
this.hostStates.clear();
|
|
136
|
+
this._totalBytesAccumulator = 0;
|
|
93
137
|
}
|
|
94
138
|
}
|
|
95
139
|
exports.MetricsManager = MetricsManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;
|
|
1
|
+
{"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manages concurrent execution of asynchronous tasks with a configurable limit.
|
|
3
|
-
* Uses a queue-based approach to prevent overwhelming the system with too many
|
|
4
|
-
* simultaneous operations.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* const queue = new QueueManager(5); // Max 5 concurrent tasks
|
|
9
|
-
* const result = await queue.enqueue(() => fetch('https://api.example.com'));
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
1
|
export declare class QueueManager {
|
|
13
2
|
private maxConcurrent;
|
|
14
|
-
private queue;
|
|
15
3
|
private running;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
*/
|
|
4
|
+
private size;
|
|
5
|
+
private head;
|
|
6
|
+
private tail;
|
|
20
7
|
constructor(maxConcurrent?: number);
|
|
21
|
-
/**
|
|
22
|
-
* Enqueues a task for execution, respecting the concurrency limit.
|
|
23
|
-
* If the limit is reached, the task will wait in queue until a slot becomes available.
|
|
24
|
-
*
|
|
25
|
-
* @template T - The return type of the executor function
|
|
26
|
-
* @param executor - An async function to execute
|
|
27
|
-
* @returns A promise that resolves with the executor's result
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* const data = await queue.enqueue(async () => {
|
|
32
|
-
* const response = await fetch('https://api.example.com/data');
|
|
33
|
-
* return response.json();
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
8
|
enqueue<T>(executor: () => Promise<T>): Promise<T>;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
* @returns The number of currently executing tasks
|
|
41
|
-
*/
|
|
9
|
+
private runTask;
|
|
10
|
+
private processQueue;
|
|
42
11
|
get activeCount(): number;
|
|
43
|
-
/**
|
|
44
|
-
* Gets the number of tasks waiting in queue
|
|
45
|
-
* @returns The number of queued tasks
|
|
46
|
-
*/
|
|
47
12
|
get queuedCount(): number;
|
|
48
13
|
}
|
|
49
14
|
//# sourceMappingURL=QueueManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":"AAOA,qBAAa,YAAY;IAOX,OAAO,CAAC,aAAa;IANjC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAK;IAEjB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,IAAI,CAA0B;gBAElB,aAAa,SAAK;IAEhC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAmB1C,OAAO;IAmBrB,OAAO,CAAC,YAAY;IAiBpB,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
|
|
@@ -1,79 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QueueManager = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Manages concurrent execution of asynchronous tasks with a configurable limit.
|
|
6
|
-
* Uses a queue-based approach to prevent overwhelming the system with too many
|
|
7
|
-
* simultaneous operations.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```ts
|
|
11
|
-
* const queue = new QueueManager(5); // Max 5 concurrent tasks
|
|
12
|
-
* const result = await queue.enqueue(() => fetch('https://api.example.com'));
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
4
|
class QueueManager {
|
|
16
5
|
maxConcurrent;
|
|
17
|
-
queue = [];
|
|
18
6
|
running = 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
7
|
+
size = 0;
|
|
8
|
+
head = null;
|
|
9
|
+
tail = null;
|
|
23
10
|
constructor(maxConcurrent = 50) {
|
|
24
11
|
this.maxConcurrent = maxConcurrent;
|
|
25
12
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Enqueues a task for execution, respecting the concurrency limit.
|
|
28
|
-
* If the limit is reached, the task will wait in queue until a slot becomes available.
|
|
29
|
-
*
|
|
30
|
-
* @template T - The return type of the executor function
|
|
31
|
-
* @param executor - An async function to execute
|
|
32
|
-
* @returns A promise that resolves with the executor's result
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```ts
|
|
36
|
-
* const data = await queue.enqueue(async () => {
|
|
37
|
-
* const response = await fetch('https://api.example.com/data');
|
|
38
|
-
* return response.json();
|
|
39
|
-
* });
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
13
|
async enqueue(executor) {
|
|
43
14
|
if (this.running < this.maxConcurrent) {
|
|
44
|
-
this.
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
await new Promise((resolve) => {
|
|
48
|
-
this.queue.push(resolve);
|
|
49
|
-
});
|
|
15
|
+
return this.runTask(executor);
|
|
50
16
|
}
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
const newNode = { executor, resolve, reject, next: null };
|
|
19
|
+
if (!this.tail) {
|
|
20
|
+
this.head = newNode;
|
|
21
|
+
this.tail = newNode;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.tail.next = newNode;
|
|
25
|
+
this.tail = newNode;
|
|
26
|
+
}
|
|
27
|
+
this.size++;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async runTask(executor, resolve, reject) {
|
|
31
|
+
this.running++;
|
|
51
32
|
try {
|
|
52
|
-
|
|
33
|
+
const result = await executor();
|
|
34
|
+
resolve?.(result);
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
reject?.(error);
|
|
39
|
+
throw error;
|
|
53
40
|
}
|
|
54
41
|
finally {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
42
|
+
this.running--;
|
|
43
|
+
this.processQueue();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
processQueue() {
|
|
47
|
+
while (this.running < this.maxConcurrent && this.head) {
|
|
48
|
+
const task = this.head;
|
|
49
|
+
this.head = this.head.next;
|
|
50
|
+
if (!this.head) {
|
|
51
|
+
this.tail = null;
|
|
61
52
|
}
|
|
53
|
+
this.size--;
|
|
54
|
+
queueMicrotask(() => {
|
|
55
|
+
this.runTask(task.executor, task.resolve, task.reject);
|
|
56
|
+
});
|
|
62
57
|
}
|
|
63
58
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Gets the current number of running tasks
|
|
66
|
-
* @returns The number of currently executing tasks
|
|
67
|
-
*/
|
|
68
59
|
get activeCount() {
|
|
69
60
|
return this.running;
|
|
70
61
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Gets the number of tasks waiting in queue
|
|
73
|
-
* @returns The number of queued tasks
|
|
74
|
-
*/
|
|
75
62
|
get queuedCount() {
|
|
76
|
-
return this.
|
|
63
|
+
return this.size;
|
|
77
64
|
}
|
|
78
65
|
}
|
|
79
66
|
exports.QueueManager = QueueManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":";;;AAOA,MAAa,YAAY;IAOH;IANZ,OAAO,GAAG,CAAC,CAAC;IACZ,IAAI,GAAG,CAAC,CAAC;IAET,IAAI,GAAqB,IAAI,CAAC;IAC9B,IAAI,GAAqB,IAAI,CAAC;IAEtC,YAAoB,gBAAgB,EAAE;QAAlB,kBAAa,GAAb,aAAa,CAAK;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CAAI,QAA0B;QACzC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,OAAO,GAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAErE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAA0B,EAC1B,OAAwB,EACxB,MAAyB;QAEzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,cAAc,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAvED,oCAuEC"}
|