@crawlee/core 3.16.1-beta.4 → 3.16.1-beta.41
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/autoscaling/autoscaled_pool.d.ts +2 -0
- package/autoscaling/autoscaled_pool.d.ts.map +1 -1
- package/autoscaling/autoscaled_pool.js +10 -0
- package/autoscaling/autoscaled_pool.js.map +1 -1
- package/autoscaling/client_load_signal.d.ts +26 -0
- package/autoscaling/client_load_signal.d.ts.map +1 -0
- package/autoscaling/client_load_signal.js +40 -0
- package/autoscaling/client_load_signal.js.map +1 -0
- package/autoscaling/cpu_load_signal.d.ts +29 -0
- package/autoscaling/cpu_load_signal.d.ts.map +1 -0
- package/autoscaling/cpu_load_signal.js +27 -0
- package/autoscaling/cpu_load_signal.js.map +1 -0
- package/autoscaling/event_loop_load_signal.d.ts +24 -0
- package/autoscaling/event_loop_load_signal.d.ts.map +1 -0
- package/autoscaling/event_loop_load_signal.js +39 -0
- package/autoscaling/event_loop_load_signal.js.map +1 -0
- package/autoscaling/index.d.ts +5 -0
- package/autoscaling/index.d.ts.map +1 -1
- package/autoscaling/index.js +5 -0
- package/autoscaling/index.js.map +1 -1
- package/autoscaling/load_signal.d.ts +100 -0
- package/autoscaling/load_signal.d.ts.map +1 -0
- package/autoscaling/load_signal.js +151 -0
- package/autoscaling/load_signal.js.map +1 -0
- package/autoscaling/memory_load_signal.d.ts +44 -0
- package/autoscaling/memory_load_signal.d.ts.map +1 -0
- package/autoscaling/memory_load_signal.js +159 -0
- package/autoscaling/memory_load_signal.js.map +1 -0
- package/autoscaling/snapshotter.d.ts +26 -60
- package/autoscaling/snapshotter.d.ts.map +1 -1
- package/autoscaling/snapshotter.js +76 -225
- package/autoscaling/snapshotter.js.map +1 -1
- package/autoscaling/system_status.d.ts +21 -32
- package/autoscaling/system_status.d.ts.map +1 -1
- package/autoscaling/system_status.js +46 -92
- package/autoscaling/system_status.js.map +1 -1
- package/events/local_event_manager.d.ts +1 -0
- package/events/local_event_manager.d.ts.map +1 -1
- package/events/local_event_manager.js +8 -7
- package/events/local_event_manager.js.map +1 -1
- package/index.mjs +6 -0
- package/package.json +6 -6
|
@@ -172,6 +172,8 @@ export declare class AutoscaledPool {
|
|
|
172
172
|
private resolve;
|
|
173
173
|
private reject;
|
|
174
174
|
private snapshotter;
|
|
175
|
+
/** Additional SystemStatus loadSignals - tracked here for initialization and cleanup */
|
|
176
|
+
private loadSignals;
|
|
175
177
|
private systemStatus;
|
|
176
178
|
private autoscaleInterval;
|
|
177
179
|
private maybeRunInterval;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoscaled_pool.d.ts","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"autoscaled_pool.d.ts","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -194,6 +194,13 @@ class AutoscaledPool {
|
|
|
194
194
|
writable: true,
|
|
195
195
|
value: void 0
|
|
196
196
|
});
|
|
197
|
+
/** Additional SystemStatus loadSignals - tracked here for initialization and cleanup */
|
|
198
|
+
Object.defineProperty(this, "loadSignals", {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
configurable: true,
|
|
201
|
+
writable: true,
|
|
202
|
+
value: void 0
|
|
203
|
+
});
|
|
197
204
|
Object.defineProperty(this, "systemStatus", {
|
|
198
205
|
enumerable: true,
|
|
199
206
|
configurable: true,
|
|
@@ -290,6 +297,7 @@ class AutoscaledPool {
|
|
|
290
297
|
}));
|
|
291
298
|
ssoCopy.config ?? (ssoCopy.config = this.config);
|
|
292
299
|
this.snapshotter = ssoCopy.snapshotter;
|
|
300
|
+
this.loadSignals = ssoCopy.loadSignals ?? [];
|
|
293
301
|
this.systemStatus = new system_status_1.SystemStatus(ssoCopy);
|
|
294
302
|
}
|
|
295
303
|
/**
|
|
@@ -352,6 +360,7 @@ class AutoscaledPool {
|
|
|
352
360
|
this.reject = reject;
|
|
353
361
|
});
|
|
354
362
|
await this.snapshotter.start();
|
|
363
|
+
await Promise.all(this.loadSignals.map((s) => s.start()));
|
|
355
364
|
// This interval checks the system status and updates the desired concurrency accordingly.
|
|
356
365
|
this.autoscaleInterval = (0, utilities_1.betterSetInterval)(this._autoscale, this.autoscaleIntervalMillis);
|
|
357
366
|
// This is here because if we scale down to let's say 1, then after each promise is finished
|
|
@@ -665,6 +674,7 @@ class AutoscaledPool {
|
|
|
665
674
|
(0, utilities_1.betterClearInterval)(this.tasksDonePerSecondInterval);
|
|
666
675
|
if (this.snapshotter)
|
|
667
676
|
await this.snapshotter.stop();
|
|
677
|
+
await Promise.all(this.loadSignals.map((s) => s.stop()));
|
|
668
678
|
}
|
|
669
679
|
_incrementTasksDonePerSecond(intervalCallback) {
|
|
670
680
|
this._tasksPerMinute.unshift(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoscaled_pool.js","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autoscaled_pool.js","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StorageClient } from '@crawlee/types';
|
|
2
|
+
import type { LoadSnapshot } from './load_signal';
|
|
3
|
+
import { SnapshotStore } from './load_signal';
|
|
4
|
+
export interface ClientSnapshot extends LoadSnapshot {
|
|
5
|
+
rateLimitErrorCount: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ClientLoadSignalOptions {
|
|
8
|
+
client: StorageClient;
|
|
9
|
+
clientSnapshotIntervalSecs?: number;
|
|
10
|
+
maxClientErrors?: number;
|
|
11
|
+
overloadedRatio?: number;
|
|
12
|
+
snapshotHistoryMillis?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Periodically checks the storage client for rate-limit errors (HTTP 429)
|
|
16
|
+
* and reports overload when the error delta exceeds a threshold.
|
|
17
|
+
*/
|
|
18
|
+
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
19
|
+
export declare function createClientLoadSignal(options: ClientLoadSignalOptions): Omit<import("./load_signal").LoadSignal, "getSample"> & {
|
|
20
|
+
store: SnapshotStore<ClientSnapshot>;
|
|
21
|
+
handle: (cb: () => unknown) => void;
|
|
22
|
+
getSample(sampleDurationMillis?: number): ClientSnapshot[];
|
|
23
|
+
};
|
|
24
|
+
/** @internal Return type for backward compat in Snapshotter facade */
|
|
25
|
+
export type ClientLoadSignal = ReturnType<typeof createClientLoadSignal>;
|
|
26
|
+
//# sourceMappingURL=client_load_signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client_load_signal.d.ts","sourceRoot":"","sources":["../../src/autoscaling/client_load_signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,WAAW,cAAe,SAAQ,YAAY;IAChD,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;;;;EAiCtE;AAED,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createClientLoadSignal = createClientLoadSignal;
|
|
4
|
+
const load_signal_1 = require("./load_signal");
|
|
5
|
+
const CLIENT_RATE_LIMIT_ERROR_RETRY_COUNT = 2;
|
|
6
|
+
/**
|
|
7
|
+
* Periodically checks the storage client for rate-limit errors (HTTP 429)
|
|
8
|
+
* and reports overload when the error delta exceeds a threshold.
|
|
9
|
+
*/
|
|
10
|
+
function createClientLoadSignal(options) {
|
|
11
|
+
const maxClientErrors = options.maxClientErrors ?? 3;
|
|
12
|
+
const signal = load_signal_1.SnapshotStore.fromInterval({
|
|
13
|
+
name: 'clientInfo',
|
|
14
|
+
overloadedRatio: options.overloadedRatio ?? 0.3,
|
|
15
|
+
intervalMillis: (options.clientSnapshotIntervalSecs ?? 1) * 1000,
|
|
16
|
+
snapshotHistoryMillis: options.snapshotHistoryMillis,
|
|
17
|
+
handler(store, intervalCallback) {
|
|
18
|
+
const now = new Date();
|
|
19
|
+
const allErrorCounts = options.client.stats?.rateLimitErrors ?? [];
|
|
20
|
+
const currentErrCount = allErrorCounts[CLIENT_RATE_LIMIT_ERROR_RETRY_COUNT] || 0;
|
|
21
|
+
const snapshot = {
|
|
22
|
+
createdAt: now,
|
|
23
|
+
isOverloaded: false,
|
|
24
|
+
rateLimitErrorCount: currentErrCount,
|
|
25
|
+
};
|
|
26
|
+
const all = store.getAll();
|
|
27
|
+
const previousSnapshot = all[all.length - 1];
|
|
28
|
+
if (previousSnapshot) {
|
|
29
|
+
const { rateLimitErrorCount } = previousSnapshot;
|
|
30
|
+
const delta = currentErrCount - rateLimitErrorCount;
|
|
31
|
+
if (delta > maxClientErrors)
|
|
32
|
+
snapshot.isOverloaded = true;
|
|
33
|
+
}
|
|
34
|
+
store.push(snapshot, now);
|
|
35
|
+
intervalCallback();
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
return signal;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=client_load_signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client_load_signal.js","sourceRoot":"","sources":["../../src/autoscaling/client_load_signal.ts"],"names":[],"mappings":";;AAuBA,wDAiCC;AArDD,+CAA8C;AAE9C,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAc9C;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,OAAgC;IACnE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,2BAAa,CAAC,YAAY,CAAiB;QACtD,IAAI,EAAE,YAAY;QAClB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG;QAC/C,cAAc,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,CAAC,CAAC,GAAG,IAAI;QAChE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,OAAO,CAAC,KAAK,EAAE,gBAAgB;YAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC;YACnE,MAAM,eAAe,GAAG,cAAc,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;YAEjF,MAAM,QAAQ,GAAmB;gBAC7B,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,KAAK;gBACnB,mBAAmB,EAAE,eAAe;aACvC,CAAC;YACF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC;gBACjD,MAAM,KAAK,GAAG,eAAe,GAAG,mBAAmB,CAAC;gBACpD,IAAI,KAAK,GAAG,eAAe;oBAAE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YAC9D,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1B,gBAAgB,EAAE,CAAC;QACvB,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Configuration } from '../configuration';
|
|
2
|
+
import type { LoadSnapshot } from './load_signal';
|
|
3
|
+
import { SnapshotStore } from './load_signal';
|
|
4
|
+
import type { SystemInfo } from './system_status';
|
|
5
|
+
export interface CpuSnapshot extends LoadSnapshot {
|
|
6
|
+
usedRatio: number;
|
|
7
|
+
ticks?: {
|
|
8
|
+
idle: number;
|
|
9
|
+
total: number;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface CpuLoadSignalOptions {
|
|
13
|
+
overloadedRatio?: number;
|
|
14
|
+
snapshotHistoryMillis?: number;
|
|
15
|
+
config: Configuration;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Tracks CPU usage via `SYSTEM_INFO` events and reports overload when
|
|
19
|
+
* the platform or local OS metrics indicate the CPU is overloaded.
|
|
20
|
+
*/
|
|
21
|
+
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
22
|
+
export declare function createCpuLoadSignal(options: CpuLoadSignalOptions): Omit<import("./load_signal").LoadSignal, "getSample"> & {
|
|
23
|
+
store: SnapshotStore<CpuSnapshot>;
|
|
24
|
+
handle: (payload: SystemInfo) => void;
|
|
25
|
+
getSample(sampleDurationMillis?: number): CpuSnapshot[];
|
|
26
|
+
};
|
|
27
|
+
/** @internal Return type for backward compat in Snapshotter facade */
|
|
28
|
+
export type CpuLoadSignal = ReturnType<typeof createCpuLoadSignal>;
|
|
29
|
+
//# sourceMappingURL=cpu_load_signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpu_load_signal.d.ts","sourceRoot":"","sources":["../../src/autoscaling/cpu_load_signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB;;;;EAoBhE;AAED,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCpuLoadSignal = createCpuLoadSignal;
|
|
4
|
+
const load_signal_1 = require("./load_signal");
|
|
5
|
+
/**
|
|
6
|
+
* Tracks CPU usage via `SYSTEM_INFO` events and reports overload when
|
|
7
|
+
* the platform or local OS metrics indicate the CPU is overloaded.
|
|
8
|
+
*/
|
|
9
|
+
function createCpuLoadSignal(options) {
|
|
10
|
+
return load_signal_1.SnapshotStore.fromEvent({
|
|
11
|
+
name: 'cpuInfo',
|
|
12
|
+
overloadedRatio: options.overloadedRatio ?? 0.4,
|
|
13
|
+
events: options.config.getEventManager(),
|
|
14
|
+
event: "systemInfo" /* EventType.SYSTEM_INFO */,
|
|
15
|
+
snapshotHistoryMillis: options.snapshotHistoryMillis,
|
|
16
|
+
handler(store, systemInfo) {
|
|
17
|
+
const { cpuCurrentUsage, isCpuOverloaded } = systemInfo;
|
|
18
|
+
const createdAt = systemInfo.createdAt ? new Date(systemInfo.createdAt) : new Date();
|
|
19
|
+
store.push({
|
|
20
|
+
createdAt,
|
|
21
|
+
isOverloaded: isCpuOverloaded,
|
|
22
|
+
usedRatio: Math.ceil(cpuCurrentUsage / 100),
|
|
23
|
+
}, createdAt);
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=cpu_load_signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpu_load_signal.js","sourceRoot":"","sources":["../../src/autoscaling/cpu_load_signal.ts"],"names":[],"mappings":";;AAqBA,kDAoBC;AAtCD,+CAA8C;AAc9C;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAA6B;IAC7D,OAAO,2BAAa,CAAC,SAAS,CAA0B;QACpD,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG;QAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE;QACxC,KAAK,0CAAuB;QAC5B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,OAAO,CAAC,KAAK,EAAE,UAAU;YACrB,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACrF,KAAK,CAAC,IAAI,CACN;gBACI,SAAS;gBACT,YAAY,EAAE,eAAgB;gBAC9B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,eAAgB,GAAG,GAAG,CAAC;aAC/C,EACD,SAAS,CACZ,CAAC;QACN,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { LoadSnapshot } from './load_signal';
|
|
2
|
+
import { SnapshotStore } from './load_signal';
|
|
3
|
+
export interface EventLoopSnapshot extends LoadSnapshot {
|
|
4
|
+
exceededMillis: number;
|
|
5
|
+
}
|
|
6
|
+
export interface EventLoopLoadSignalOptions {
|
|
7
|
+
eventLoopSnapshotIntervalSecs?: number;
|
|
8
|
+
maxBlockedMillis?: number;
|
|
9
|
+
overloadedRatio?: number;
|
|
10
|
+
snapshotHistoryMillis?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Periodically measures event loop delay and reports overload when the
|
|
14
|
+
* delay exceeds a configured threshold.
|
|
15
|
+
*/
|
|
16
|
+
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
17
|
+
export declare function createEventLoopLoadSignal(options?: EventLoopLoadSignalOptions): Omit<import("./load_signal").LoadSignal, "getSample"> & {
|
|
18
|
+
store: SnapshotStore<EventLoopSnapshot>;
|
|
19
|
+
handle: (cb: () => unknown) => void;
|
|
20
|
+
getSample(sampleDurationMillis?: number): EventLoopSnapshot[];
|
|
21
|
+
};
|
|
22
|
+
/** @internal Return type for backward compat in Snapshotter facade */
|
|
23
|
+
export type EventLoopLoadSignal = ReturnType<typeof createEventLoopLoadSignal>;
|
|
24
|
+
//# sourceMappingURL=event_loop_load_signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event_loop_load_signal.d.ts","sourceRoot":"","sources":["../../src/autoscaling/event_loop_load_signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,0BAA+B;;;;EAkCjF;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEventLoopLoadSignal = createEventLoopLoadSignal;
|
|
4
|
+
const load_signal_1 = require("./load_signal");
|
|
5
|
+
/**
|
|
6
|
+
* Periodically measures event loop delay and reports overload when the
|
|
7
|
+
* delay exceeds a configured threshold.
|
|
8
|
+
*/
|
|
9
|
+
function createEventLoopLoadSignal(options = {}) {
|
|
10
|
+
const intervalMillis = (options.eventLoopSnapshotIntervalSecs ?? 0.5) * 1000;
|
|
11
|
+
const maxBlockedMillis = options.maxBlockedMillis ?? 50;
|
|
12
|
+
const signal = load_signal_1.SnapshotStore.fromInterval({
|
|
13
|
+
name: 'eventLoopInfo',
|
|
14
|
+
overloadedRatio: options.overloadedRatio ?? 0.6,
|
|
15
|
+
intervalMillis,
|
|
16
|
+
snapshotHistoryMillis: options.snapshotHistoryMillis,
|
|
17
|
+
handler(store, intervalCallback) {
|
|
18
|
+
const now = new Date();
|
|
19
|
+
const snapshot = {
|
|
20
|
+
createdAt: now,
|
|
21
|
+
isOverloaded: false,
|
|
22
|
+
exceededMillis: 0,
|
|
23
|
+
};
|
|
24
|
+
const all = store.getAll();
|
|
25
|
+
const previousSnapshot = all[all.length - 1];
|
|
26
|
+
if (previousSnapshot) {
|
|
27
|
+
const { createdAt } = previousSnapshot;
|
|
28
|
+
const delta = now.getTime() - +createdAt - intervalMillis;
|
|
29
|
+
if (delta > maxBlockedMillis)
|
|
30
|
+
snapshot.isOverloaded = true;
|
|
31
|
+
snapshot.exceededMillis = Math.max(delta - maxBlockedMillis, 0);
|
|
32
|
+
}
|
|
33
|
+
store.push(snapshot, now);
|
|
34
|
+
intervalCallback();
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
return signal;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=event_loop_load_signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event_loop_load_signal.js","sourceRoot":"","sources":["../../src/autoscaling/event_loop_load_signal.ts"],"names":[],"mappings":";;AAkBA,8DAkCC;AAnDD,+CAA8C;AAa9C;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,UAAsC,EAAE;IAC9E,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,6BAA6B,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7E,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAExD,MAAM,MAAM,GAAG,2BAAa,CAAC,YAAY,CAAoB;QACzD,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG;QAC/C,cAAc;QACd,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,OAAO,CAAC,KAAK,EAAE,gBAAgB;YAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,MAAM,QAAQ,GAAsB;gBAChC,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,CAAC;aACpB,CAAC;YAEF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,GAAG,cAAc,CAAC;gBAE1D,IAAI,KAAK,GAAG,gBAAgB;oBAAE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3D,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1B,gBAAgB,EAAE,CAAC;QACvB,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/autoscaling/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export * from './autoscaled_pool';
|
|
2
|
+
export * from './client_load_signal';
|
|
3
|
+
export * from './cpu_load_signal';
|
|
4
|
+
export * from './event_loop_load_signal';
|
|
5
|
+
export * from './load_signal';
|
|
6
|
+
export * from './memory_load_signal';
|
|
2
7
|
export * from './snapshotter';
|
|
3
8
|
export * from './system_status';
|
|
4
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autoscaling/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autoscaling/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
package/autoscaling/index.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./autoscaled_pool"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./client_load_signal"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./cpu_load_signal"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./event_loop_load_signal"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./load_signal"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./memory_load_signal"), exports);
|
|
5
10
|
tslib_1.__exportStar(require("./snapshotter"), exports);
|
|
6
11
|
tslib_1.__exportStar(require("./system_status"), exports);
|
|
7
12
|
//# sourceMappingURL=index.js.map
|
package/autoscaling/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/autoscaling/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,wDAA8B;AAC9B,0DAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/autoscaling/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,+DAAqC;AACrC,4DAAkC;AAClC,mEAAyC;AACzC,wDAA8B;AAC9B,+DAAqC;AACrC,wDAA8B;AAC9B,0DAAgC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { EventManager, EventTypeName } from '../events/event_manager';
|
|
2
|
+
import type { ClientInfo } from './system_status';
|
|
3
|
+
/**
|
|
4
|
+
* A snapshot of a resource's overload state at a point in time.
|
|
5
|
+
*/
|
|
6
|
+
export interface LoadSnapshot {
|
|
7
|
+
createdAt: Date;
|
|
8
|
+
isOverloaded: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A signal that reports whether a particular resource is overloaded.
|
|
12
|
+
*
|
|
13
|
+
* `SystemStatus` aggregates multiple `LoadSignal` instances to determine
|
|
14
|
+
* overall system health. The built-in signals cover memory, CPU, event loop,
|
|
15
|
+
* and API client rate limits. You can implement this interface to add
|
|
16
|
+
* custom overload signals (e.g. navigation timeouts, proxy health).
|
|
17
|
+
*/
|
|
18
|
+
export interface LoadSignal {
|
|
19
|
+
/** Human-readable name used in logging and `SystemInfo` keys. */
|
|
20
|
+
readonly name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Maximum ratio of overloaded snapshots in a sample before the signal
|
|
23
|
+
* is considered overloaded. For example, `0.2` means the signal fires
|
|
24
|
+
* when more than 20% of the sample window is overloaded.
|
|
25
|
+
*/
|
|
26
|
+
readonly overloadedRatio: number;
|
|
27
|
+
/** Start collecting snapshots. Called when the pool starts. */
|
|
28
|
+
start(): Promise<void>;
|
|
29
|
+
/** Stop collecting snapshots. Called when the pool shuts down. */
|
|
30
|
+
stop(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Return snapshots for a recent time window (used for "current" status).
|
|
33
|
+
* @param sampleDurationMillis How far back to look, in milliseconds.
|
|
34
|
+
*/
|
|
35
|
+
getSample(sampleDurationMillis?: number): LoadSnapshot[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A time-pruning, time-windowed store for `LoadSnapshot` values.
|
|
39
|
+
* Signals compose with this instead of inheriting from a base class.
|
|
40
|
+
*/
|
|
41
|
+
export declare class SnapshotStore<T extends LoadSnapshot = LoadSnapshot> {
|
|
42
|
+
private snapshots;
|
|
43
|
+
private readonly historyMillis;
|
|
44
|
+
constructor(historyMillis?: number);
|
|
45
|
+
/**
|
|
46
|
+
* Add a snapshot and prune entries older than the history window.
|
|
47
|
+
*/
|
|
48
|
+
push(snapshot: T, now?: Date): void;
|
|
49
|
+
/**
|
|
50
|
+
* Return all snapshots, or only those within the given time window.
|
|
51
|
+
*/
|
|
52
|
+
getSample(sampleDurationMillis?: number): T[];
|
|
53
|
+
/**
|
|
54
|
+
* Direct access to the underlying array (for backward-compat getters).
|
|
55
|
+
*/
|
|
56
|
+
getAll(): T[];
|
|
57
|
+
/**
|
|
58
|
+
* Create a `LoadSignal` that snapshots on a `betterSetInterval` tick.
|
|
59
|
+
*
|
|
60
|
+
* The `handler` receives the store (to read previous snapshots) and the
|
|
61
|
+
* interval callback (which it **must** call when done). It should call
|
|
62
|
+
* `store.push()` to record a snapshot.
|
|
63
|
+
*/
|
|
64
|
+
static fromInterval<T extends LoadSnapshot>(options: {
|
|
65
|
+
name: string;
|
|
66
|
+
overloadedRatio: number;
|
|
67
|
+
intervalMillis: number;
|
|
68
|
+
snapshotHistoryMillis?: number;
|
|
69
|
+
handler: (store: SnapshotStore<T>, intervalCallback: () => unknown) => void;
|
|
70
|
+
}): Omit<LoadSignal, 'getSample'> & {
|
|
71
|
+
store: SnapshotStore<T>;
|
|
72
|
+
handle: (cb: () => unknown) => void;
|
|
73
|
+
getSample(sampleDurationMillis?: number): T[];
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Create a `LoadSignal` that snapshots in response to an `EventManager` event.
|
|
77
|
+
*
|
|
78
|
+
* The `handler` receives the event payload and the store. It should call
|
|
79
|
+
* `store.push()` to record a snapshot.
|
|
80
|
+
*/
|
|
81
|
+
static fromEvent<T extends LoadSnapshot, E>(options: {
|
|
82
|
+
name: string;
|
|
83
|
+
overloadedRatio: number;
|
|
84
|
+
events: EventManager;
|
|
85
|
+
event: EventTypeName;
|
|
86
|
+
snapshotHistoryMillis?: number;
|
|
87
|
+
handler: (store: SnapshotStore<T>, payload: E) => void;
|
|
88
|
+
}): Omit<LoadSignal, 'getSample'> & {
|
|
89
|
+
store: SnapshotStore<T>;
|
|
90
|
+
handle: (payload: E) => void;
|
|
91
|
+
getSample(sampleDurationMillis?: number): T[];
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Evaluate whether a sample of `LoadSnapshot` values exceeds the given
|
|
96
|
+
* overloaded ratio, using a time-weighted average. This is the shared
|
|
97
|
+
* evaluation logic used by `SystemStatus` for all signal types.
|
|
98
|
+
*/
|
|
99
|
+
export declare function evaluateLoadSignalSample(sample: LoadSnapshot[], overloadedRatio: number): ClientInfo;
|
|
100
|
+
//# sourceMappingURL=load_signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load_signal.d.ts","sourceRoot":"","sources":["../../src/autoscaling/load_signal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACvB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,+DAA+D;IAC/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,kEAAkE;IAClE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC5D,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,aAAa,SAAS;IAIlC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,GAAE,IAAyB,GAAG,IAAI;IAavD;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;IAoB7C;;OAEG;IACH,MAAM,IAAI,CAAC,EAAE;IAIb;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,OAAO,KAAK,IAAI,CAAC;KAC/E,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG;QAChC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,KAAK,IAAI,CAAC;QACpC,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;KACjD;IAqBD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,YAAY,CAAC;QACrB,KAAK,EAAE,aAAa,CAAC;QACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;KAC1D,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG;QAChC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;QAC7B,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;KACjD;CAmBJ;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CA2BpG"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SnapshotStore = void 0;
|
|
4
|
+
exports.evaluateLoadSignalSample = evaluateLoadSignalSample;
|
|
5
|
+
const utils_1 = require("@crawlee/utils");
|
|
6
|
+
const utilities_1 = require("@apify/utilities");
|
|
7
|
+
/**
|
|
8
|
+
* A time-pruning, time-windowed store for `LoadSnapshot` values.
|
|
9
|
+
* Signals compose with this instead of inheriting from a base class.
|
|
10
|
+
*/
|
|
11
|
+
class SnapshotStore {
|
|
12
|
+
constructor(historyMillis = 30000) {
|
|
13
|
+
Object.defineProperty(this, "snapshots", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: []
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(this, "historyMillis", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
value: void 0
|
|
24
|
+
});
|
|
25
|
+
this.historyMillis = historyMillis;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Add a snapshot and prune entries older than the history window.
|
|
29
|
+
*/
|
|
30
|
+
push(snapshot, now = snapshot.createdAt) {
|
|
31
|
+
// Inline pruning to avoid private-method transpilation issues
|
|
32
|
+
let oldCount = 0;
|
|
33
|
+
for (let i = 0; i < this.snapshots.length; i++) {
|
|
34
|
+
const { createdAt } = this.snapshots[i];
|
|
35
|
+
if (now.getTime() - new Date(createdAt).getTime() > this.historyMillis)
|
|
36
|
+
oldCount++;
|
|
37
|
+
else
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
if (oldCount)
|
|
41
|
+
this.snapshots.splice(0, oldCount);
|
|
42
|
+
this.snapshots.push(snapshot);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Return all snapshots, or only those within the given time window.
|
|
46
|
+
*/
|
|
47
|
+
getSample(sampleDurationMillis) {
|
|
48
|
+
if (!sampleDurationMillis)
|
|
49
|
+
return this.snapshots;
|
|
50
|
+
const sample = [];
|
|
51
|
+
let idx = this.snapshots.length;
|
|
52
|
+
if (!idx)
|
|
53
|
+
return sample;
|
|
54
|
+
const latestTime = this.snapshots[idx - 1].createdAt;
|
|
55
|
+
while (idx--) {
|
|
56
|
+
const snapshot = this.snapshots[idx];
|
|
57
|
+
if (+latestTime - +snapshot.createdAt <= sampleDurationMillis) {
|
|
58
|
+
sample.unshift(snapshot);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return sample;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Direct access to the underlying array (for backward-compat getters).
|
|
68
|
+
*/
|
|
69
|
+
getAll() {
|
|
70
|
+
return this.snapshots;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create a `LoadSignal` that snapshots on a `betterSetInterval` tick.
|
|
74
|
+
*
|
|
75
|
+
* The `handler` receives the store (to read previous snapshots) and the
|
|
76
|
+
* interval callback (which it **must** call when done). It should call
|
|
77
|
+
* `store.push()` to record a snapshot.
|
|
78
|
+
*/
|
|
79
|
+
static fromInterval(options) {
|
|
80
|
+
const store = new SnapshotStore(options.snapshotHistoryMillis);
|
|
81
|
+
let interval = null;
|
|
82
|
+
const handle = (cb) => options.handler(store, cb);
|
|
83
|
+
return {
|
|
84
|
+
name: options.name,
|
|
85
|
+
overloadedRatio: options.overloadedRatio,
|
|
86
|
+
store,
|
|
87
|
+
handle,
|
|
88
|
+
getSample: (ms) => store.getSample(ms),
|
|
89
|
+
async start() {
|
|
90
|
+
interval = (0, utilities_1.betterSetInterval)(handle, options.intervalMillis);
|
|
91
|
+
},
|
|
92
|
+
async stop() {
|
|
93
|
+
(0, utilities_1.betterClearInterval)(interval);
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create a `LoadSignal` that snapshots in response to an `EventManager` event.
|
|
99
|
+
*
|
|
100
|
+
* The `handler` receives the event payload and the store. It should call
|
|
101
|
+
* `store.push()` to record a snapshot.
|
|
102
|
+
*/
|
|
103
|
+
static fromEvent(options) {
|
|
104
|
+
const store = new SnapshotStore(options.snapshotHistoryMillis);
|
|
105
|
+
const handle = (payload) => options.handler(store, payload);
|
|
106
|
+
return {
|
|
107
|
+
name: options.name,
|
|
108
|
+
overloadedRatio: options.overloadedRatio,
|
|
109
|
+
store,
|
|
110
|
+
handle,
|
|
111
|
+
getSample: (ms) => store.getSample(ms),
|
|
112
|
+
async start() {
|
|
113
|
+
options.events.on(options.event, handle);
|
|
114
|
+
},
|
|
115
|
+
async stop() {
|
|
116
|
+
options.events.off(options.event, handle);
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.SnapshotStore = SnapshotStore;
|
|
122
|
+
/**
|
|
123
|
+
* Evaluate whether a sample of `LoadSnapshot` values exceeds the given
|
|
124
|
+
* overloaded ratio, using a time-weighted average. This is the shared
|
|
125
|
+
* evaluation logic used by `SystemStatus` for all signal types.
|
|
126
|
+
*/
|
|
127
|
+
function evaluateLoadSignalSample(sample, overloadedRatio) {
|
|
128
|
+
if (sample.length === 0) {
|
|
129
|
+
return {
|
|
130
|
+
isOverloaded: false,
|
|
131
|
+
limitRatio: overloadedRatio,
|
|
132
|
+
actualRatio: 0,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const weights = [];
|
|
136
|
+
const values = [];
|
|
137
|
+
for (let i = 1; i < sample.length; i++) {
|
|
138
|
+
const previous = sample[i - 1];
|
|
139
|
+
const current = sample[i];
|
|
140
|
+
const weight = +current.createdAt - +previous.createdAt;
|
|
141
|
+
weights.push(weight || 1); // Prevent errors from 0ms long intervals (sync) between snapshots.
|
|
142
|
+
values.push(+current.isOverloaded);
|
|
143
|
+
}
|
|
144
|
+
const wAvg = sample.length === 1 ? +sample[0].isOverloaded : (0, utils_1.weightedAvg)(values, weights);
|
|
145
|
+
return {
|
|
146
|
+
isOverloaded: wAvg > overloadedRatio,
|
|
147
|
+
limitRatio: overloadedRatio,
|
|
148
|
+
actualRatio: Math.round(wAvg * 1000) / 1000,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=load_signal.js.map
|