# LoadSignal<!-- -->

A signal that reports whether a particular resource is overloaded.

`SystemStatus` aggregates multiple `LoadSignal` instances to determine overall system health. The built-in signals cover memory, CPU, event loop, and API client rate limits. You can implement this interface to add custom overload signals (e.g. navigation timeouts, proxy health).

### Implemented by

* [MemoryLoadSignal](https://crawlee.dev/js/api/core/class/MemoryLoadSignal.md)

## Index[**](#Index)

### Properties

* [**name](#name)
* [**overloadedRatio](#overloadedRatio)

### Methods

* [**getSample](#getSample)
* [**start](#start)
* [**stop](#stop)

## Properties<!-- -->[**](#Properties)

### [**](#name)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/autoscaling/load_signal.ts#L27)readonlyname

**name: string

Human-readable name used in logging and `SystemInfo` keys.

### [**](#overloadedRatio)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/autoscaling/load_signal.ts#L34)readonlyoverloadedRatio

**overloadedRatio: number

Maximum ratio of overloaded snapshots in a sample before the signal is considered overloaded. For example, `0.2` means the signal fires when more than 20% of the sample window is overloaded.

## Methods<!-- -->[**](#Methods)

### [**](#getSample)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/autoscaling/load_signal.ts#L46)getSample

* ****getSample**(sampleDurationMillis): [LoadSnapshot](https://crawlee.dev/js/api/core/interface/LoadSnapshot.md)\[]

- Return snapshots for a recent time window (used for "current" status).

  ***

  #### Parameters

  * ##### optionalsampleDurationMillis: number

    How far back to look, in milliseconds.

  #### Returns [LoadSnapshot](https://crawlee.dev/js/api/core/interface/LoadSnapshot.md)\[]

### [**](#start)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/autoscaling/load_signal.ts#L37)start

* ****start**(): Promise\<void>

- Start collecting snapshots. Called when the pool starts.

  ***

  #### Returns Promise\<void>

### [**](#stop)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/autoscaling/load_signal.ts#L40)stop

* ****stop**(): Promise\<void>

- Stop collecting snapshots. Called when the pool shuts down.

  ***

  #### Returns Promise\<void>
