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
readonlyeventEmitter: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()
readonlygetHistoryLimit: () =>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
readonlyhistoryRepository: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
readonlymonitorRepository: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
readonlyoperationRegistry:MonitorOperationRegistry
Defined in: electron/services/monitoring/EnhancedMonitoringDependencies.d.ts:115
Registry coordinating active monitor operations to prevent race conditions.
Inherited from
EnhancedMonitoringDependencies.operationRegistry
siteRepository
readonlysiteRepository: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
readonlysites: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.