Skip to main content

Interface: EnhancedMonitorCheckConfig

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:95

Configuration interface for enhanced monitor checking with comprehensive service dependencies.

Remarks

This configuration object provides all necessary dependencies for the enhanced monitor checker to operate safely with operation correlation and race condition prevention. Each dependency serves a specific purpose in the monitoring operation lifecycle.

Example

const config: EnhancedMonitorCheckConfig = {
eventEmitter: typedEventBus,
getHistoryLimit: () => 100,
historyRepository: historyRepo,
monitorRepository: monitorRepo,
operationRegistry: registry,
siteRepository: siteRepo,
sites: sitesCache,
statusUpdateService: updateService,
timeoutManager: timeoutMgr,
};

Extends

Properties

statusUpdateService

statusUpdateService: MonitorStatusUpdateService

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:104

Status update service for safe concurrent status updates.

Remarks

Provides operation-aware status updates that prevent race conditions when multiple monitor checks might attempt to update the same monitor's status simultaneously.


timeoutManager

timeoutManager: OperationTimeoutManager

Defined in: electron/services/monitoring/EnhancedMonitorChecker.ts:113

Timeout manager for operation cleanup and resource management.

Remarks

Manages operation timeouts, cleanup procedures, and ensures resources are properly released when monitor operations complete or are cancelled.


eventEmitter

readonly eventEmitter: TypedEventBus<UptimeEvents>

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:75

Event emitter for system-wide communication and monitoring notifications.

Remarks

Used to broadcast monitor status changes, operation events, and other monitoring-related notifications throughout the application. Essential for UI updates and cross-component communication.

Inherited from

EnhancedMonitoringDependencies.eventEmitter


getHistoryLimit()

readonly getHistoryLimit: () => number

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:89

Function to get the current maximum number of history entries to keep for each monitor.

Returns

number

The maximum number of status history entries to retain per monitor

Remarks

This function provides dynamic access to the history limit setting, which may change during runtime based on user configuration or system constraints. Used for automatic history pruning during status updates.

Inherited from

EnhancedMonitoringDependencies.getHistoryLimit


historyRepository

readonly historyRepository: HistoryRepository

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:99

Repository for monitor status history operations and management.

Remarks

Handles persistence and retrieval of monitor status history entries, including automatic pruning based on the configured history limit. Essential for trend analysis and historical reporting.

Inherited from

EnhancedMonitoringDependencies.historyRepository


monitorRepository

readonly monitorRepository: MonitorRepository

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:109

Repository for monitor entity operations and configuration management.

Remarks

Manages monitor entity persistence, status updates, configuration changes, and monitor-related database operations. Core component for monitor state management.

Inherited from

EnhancedMonitoringDependencies.monitorRepository


operationRegistry

readonly operationRegistry: MonitorOperationRegistry

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:115

Registry coordinating active monitor operations to prevent race conditions.

Inherited from

EnhancedMonitoringDependencies.operationRegistry


siteRepository

readonly siteRepository: SiteRepository

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:126

Repository for site entity operations and site-monitor relationship management.

Remarks

Handles site entity persistence and manages the relationship between sites and their associated monitors. Required for site-level monitoring operations.

Inherited from

EnhancedMonitoringDependencies.siteRepository


sites

readonly sites: StandardizedCache<Site>

Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:137

In-memory cache for fast access to site and monitor configurations.

Remarks

Provides high-performance, in-memory access to site configurations and monitor definitions, reducing database load during frequent monitoring operations. Critical for maintaining acceptable monitoring performance at scale.

Inherited from

EnhancedMonitoringDependencies.sites