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,
};

Hierarchy​

View Summary

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:76

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:90

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:100

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:110

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:116

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:127

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:138

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