[**@s4ai/core Documentation v0.3.23**](../../../README.md)

***

[@s4ai/core Documentation](../../../modules.md) / [@s4ai/core](../README.md) / SelfMonitor

# Class: SelfMonitor

Defined in: monitoring/self-monitor.js:2

## Constructors

### Constructor

> **new SelfMonitor**(`app`): `SelfMonitor`

Defined in: monitoring/self-monitor.js:3

#### Parameters

##### app

`any`

#### Returns

`SelfMonitor`

## Properties

### app

> **app**: `any`

Defined in: monitoring/self-monitor.js:4

***

### intervalId

> **intervalId**: `number` \| `null`

Defined in: monitoring/self-monitor.js:7

***

### metrics

> **metrics**: `object`

Defined in: monitoring/self-monitor.js:5

#### errors

> **errors**: `never`[] = `[]`

#### performance

> **performance**: `never`[] = `[]`

#### resources

> **resources**: `never`[] = `[]`

***

### monitoringInterval

> **monitoringInterval**: `number`

Defined in: monitoring/self-monitor.js:6

## Methods

### collectMetrics()

> **collectMetrics**(): `Promise`\<`void`\>

Defined in: monitoring/self-monitor.js:17

#### Returns

`Promise`\<`void`\>

***

### exportState()

> **exportState**(): `object`

Defined in: monitoring/self-monitor.js:26

#### Returns

`object`

##### metrics

> **metrics**: `object`

###### metrics.errors

> **errors**: `never`[] = `[]`

###### metrics.performance

> **performance**: `never`[] = `[]`

###### metrics.resources

> **resources**: `never`[] = `[]`

##### timestamp

> **timestamp**: `number`

***

### getHealth()

> **getHealth**(): `number`

Defined in: monitoring/self-monitor.js:22

#### Returns

`number`

***

### startMonitoring()

> **startMonitoring**(): `void`

Defined in: monitoring/self-monitor.js:9

#### Returns

`void`

***

### stopMonitoring()

> **stopMonitoring**(): `void`

Defined in: monitoring/self-monitor.js:13

#### Returns

`void`
