@crawlee/core 3.16.1-beta.4 → 3.16.1-beta.40

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.
Files changed (42) hide show
  1. package/autoscaling/autoscaled_pool.d.ts +2 -0
  2. package/autoscaling/autoscaled_pool.d.ts.map +1 -1
  3. package/autoscaling/autoscaled_pool.js +10 -0
  4. package/autoscaling/autoscaled_pool.js.map +1 -1
  5. package/autoscaling/client_load_signal.d.ts +26 -0
  6. package/autoscaling/client_load_signal.d.ts.map +1 -0
  7. package/autoscaling/client_load_signal.js +40 -0
  8. package/autoscaling/client_load_signal.js.map +1 -0
  9. package/autoscaling/cpu_load_signal.d.ts +29 -0
  10. package/autoscaling/cpu_load_signal.d.ts.map +1 -0
  11. package/autoscaling/cpu_load_signal.js +27 -0
  12. package/autoscaling/cpu_load_signal.js.map +1 -0
  13. package/autoscaling/event_loop_load_signal.d.ts +24 -0
  14. package/autoscaling/event_loop_load_signal.d.ts.map +1 -0
  15. package/autoscaling/event_loop_load_signal.js +39 -0
  16. package/autoscaling/event_loop_load_signal.js.map +1 -0
  17. package/autoscaling/index.d.ts +5 -0
  18. package/autoscaling/index.d.ts.map +1 -1
  19. package/autoscaling/index.js +5 -0
  20. package/autoscaling/index.js.map +1 -1
  21. package/autoscaling/load_signal.d.ts +100 -0
  22. package/autoscaling/load_signal.d.ts.map +1 -0
  23. package/autoscaling/load_signal.js +151 -0
  24. package/autoscaling/load_signal.js.map +1 -0
  25. package/autoscaling/memory_load_signal.d.ts +44 -0
  26. package/autoscaling/memory_load_signal.d.ts.map +1 -0
  27. package/autoscaling/memory_load_signal.js +159 -0
  28. package/autoscaling/memory_load_signal.js.map +1 -0
  29. package/autoscaling/snapshotter.d.ts +26 -60
  30. package/autoscaling/snapshotter.d.ts.map +1 -1
  31. package/autoscaling/snapshotter.js +76 -225
  32. package/autoscaling/snapshotter.js.map +1 -1
  33. package/autoscaling/system_status.d.ts +21 -32
  34. package/autoscaling/system_status.d.ts.map +1 -1
  35. package/autoscaling/system_status.js +46 -92
  36. package/autoscaling/system_status.js.map +1 -1
  37. package/events/local_event_manager.d.ts +1 -0
  38. package/events/local_event_manager.d.ts.map +1 -1
  39. package/events/local_event_manager.js +8 -7
  40. package/events/local_event_manager.js.map +1 -1
  41. package/index.mjs +6 -0
  42. 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":"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"}
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"}
@@ -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"}
@@ -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
@@ -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