@masuidrive/procman 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +149 -0
- package/dist/src/cli/commands/clear-log.d.ts +10 -0
- package/dist/src/cli/commands/clear-log.d.ts.map +1 -0
- package/dist/src/cli/commands/clear-log.js +77 -0
- package/dist/src/cli/commands/clear-log.js.map +1 -0
- package/dist/src/cli/commands/exit.d.ts +10 -0
- package/dist/src/cli/commands/exit.d.ts.map +1 -0
- package/dist/src/cli/commands/exit.js +65 -0
- package/dist/src/cli/commands/exit.js.map +1 -0
- package/dist/src/cli/commands/help.d.ts +10 -0
- package/dist/src/cli/commands/help.d.ts.map +1 -0
- package/dist/src/cli/commands/help.js +340 -0
- package/dist/src/cli/commands/help.js.map +1 -0
- package/dist/src/cli/commands/list.d.ts +11 -0
- package/dist/src/cli/commands/list.d.ts.map +1 -0
- package/dist/src/cli/commands/list.js +130 -0
- package/dist/src/cli/commands/list.js.map +1 -0
- package/dist/src/cli/commands/load.d.ts +11 -0
- package/dist/src/cli/commands/load.d.ts.map +1 -0
- package/dist/src/cli/commands/load.js +250 -0
- package/dist/src/cli/commands/load.js.map +1 -0
- package/dist/src/cli/commands/log.d.ts +18 -0
- package/dist/src/cli/commands/log.d.ts.map +1 -0
- package/dist/src/cli/commands/log.js +282 -0
- package/dist/src/cli/commands/log.js.map +1 -0
- package/dist/src/cli/commands/restart.d.ts +11 -0
- package/dist/src/cli/commands/restart.d.ts.map +1 -0
- package/dist/src/cli/commands/restart.js +99 -0
- package/dist/src/cli/commands/restart.js.map +1 -0
- package/dist/src/cli/commands/start.d.ts +11 -0
- package/dist/src/cli/commands/start.d.ts.map +1 -0
- package/dist/src/cli/commands/start.js +105 -0
- package/dist/src/cli/commands/start.js.map +1 -0
- package/dist/src/cli/commands/stop.d.ts +12 -0
- package/dist/src/cli/commands/stop.d.ts.map +1 -0
- package/dist/src/cli/commands/stop.js +105 -0
- package/dist/src/cli/commands/stop.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +28 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/parser.d.ts +14 -0
- package/dist/src/cli/parser.d.ts.map +1 -0
- package/dist/src/cli/parser.js +131 -0
- package/dist/src/cli/parser.js.map +1 -0
- package/dist/src/cli/signal-handler.d.ts +51 -0
- package/dist/src/cli/signal-handler.d.ts.map +1 -0
- package/dist/src/cli/signal-handler.js +129 -0
- package/dist/src/cli/signal-handler.js.map +1 -0
- package/dist/src/cli/utils/error-handler.d.ts +39 -0
- package/dist/src/cli/utils/error-handler.d.ts.map +1 -0
- package/dist/src/cli/utils/error-handler.js +200 -0
- package/dist/src/cli/utils/error-handler.js.map +1 -0
- package/dist/src/cli/utils/error-utils.d.ts +16 -0
- package/dist/src/cli/utils/error-utils.d.ts.map +1 -0
- package/dist/src/cli/utils/error-utils.js +48 -0
- package/dist/src/cli/utils/error-utils.js.map +1 -0
- package/dist/src/cli/utils/ipc-client.d.ts +80 -0
- package/dist/src/cli/utils/ipc-client.d.ts.map +1 -0
- package/dist/src/cli/utils/ipc-client.js +275 -0
- package/dist/src/cli/utils/ipc-client.js.map +1 -0
- package/dist/src/config/config-loader.d.ts +74 -0
- package/dist/src/config/config-loader.d.ts.map +1 -0
- package/dist/src/config/config-loader.js +229 -0
- package/dist/src/config/config-loader.js.map +1 -0
- package/dist/src/config/config-normalizer.d.ts +135 -0
- package/dist/src/config/config-normalizer.d.ts.map +1 -0
- package/dist/src/config/config-normalizer.js +309 -0
- package/dist/src/config/config-normalizer.js.map +1 -0
- package/dist/src/config/config-reporter.d.ts +183 -0
- package/dist/src/config/config-reporter.d.ts.map +1 -0
- package/dist/src/config/config-reporter.js +311 -0
- package/dist/src/config/config-reporter.js.map +1 -0
- package/dist/src/config/config-validator.d.ts +163 -0
- package/dist/src/config/config-validator.d.ts.map +1 -0
- package/dist/src/config/config-validator.js +489 -0
- package/dist/src/config/config-validator.js.map +1 -0
- package/dist/src/config/config-watcher.d.ts +161 -0
- package/dist/src/config/config-watcher.d.ts.map +1 -0
- package/dist/src/config/config-watcher.js +245 -0
- package/dist/src/config/config-watcher.js.map +1 -0
- package/dist/src/config/index.d.ts +36 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +41 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/secure-config-loader.d.ts +77 -0
- package/dist/src/config/secure-config-loader.d.ts.map +1 -0
- package/dist/src/config/secure-config-loader.js +326 -0
- package/dist/src/config/secure-config-loader.js.map +1 -0
- package/dist/src/daemon/base-socket-connection.d.ts +66 -0
- package/dist/src/daemon/base-socket-connection.d.ts.map +1 -0
- package/dist/src/daemon/base-socket-connection.js +192 -0
- package/dist/src/daemon/base-socket-connection.js.map +1 -0
- package/dist/src/daemon/component-manager.d.ts +180 -0
- package/dist/src/daemon/component-manager.d.ts.map +1 -0
- package/dist/src/daemon/component-manager.js +794 -0
- package/dist/src/daemon/component-manager.js.map +1 -0
- package/dist/src/daemon/crash-recovery.d.ts +71 -0
- package/dist/src/daemon/crash-recovery.d.ts.map +1 -0
- package/dist/src/daemon/crash-recovery.js +282 -0
- package/dist/src/daemon/crash-recovery.js.map +1 -0
- package/dist/src/daemon/daemon-main.d.ts +18 -0
- package/dist/src/daemon/daemon-main.d.ts.map +1 -0
- package/dist/src/daemon/daemon-main.js +160 -0
- package/dist/src/daemon/daemon-main.js.map +1 -0
- package/dist/src/daemon/daemon-state-manager.d.ts +111 -0
- package/dist/src/daemon/daemon-state-manager.d.ts.map +1 -0
- package/dist/src/daemon/daemon-state-manager.js +194 -0
- package/dist/src/daemon/daemon-state-manager.js.map +1 -0
- package/dist/src/daemon/data-directory.d.ts +51 -0
- package/dist/src/daemon/data-directory.d.ts.map +1 -0
- package/dist/src/daemon/data-directory.js +136 -0
- package/dist/src/daemon/data-directory.js.map +1 -0
- package/dist/src/daemon/index.d.ts +20 -0
- package/dist/src/daemon/index.d.ts.map +1 -0
- package/dist/src/daemon/index.js +24 -0
- package/dist/src/daemon/index.js.map +1 -0
- package/dist/src/daemon/ipc-client-base.d.ts +153 -0
- package/dist/src/daemon/ipc-client-base.d.ts.map +1 -0
- package/dist/src/daemon/ipc-client-base.js +476 -0
- package/dist/src/daemon/ipc-client-base.js.map +1 -0
- package/dist/src/daemon/ipc-command-handler.d.ts +107 -0
- package/dist/src/daemon/ipc-command-handler.d.ts.map +1 -0
- package/dist/src/daemon/ipc-command-handler.js +483 -0
- package/dist/src/daemon/ipc-command-handler.js.map +1 -0
- package/dist/src/daemon/ipc-factory.d.ts +92 -0
- package/dist/src/daemon/ipc-factory.d.ts.map +1 -0
- package/dist/src/daemon/ipc-factory.js +210 -0
- package/dist/src/daemon/ipc-factory.js.map +1 -0
- package/dist/src/daemon/ipc-server-base.d.ts +158 -0
- package/dist/src/daemon/ipc-server-base.d.ts.map +1 -0
- package/dist/src/daemon/ipc-server-base.js +491 -0
- package/dist/src/daemon/ipc-server-base.js.map +1 -0
- package/dist/src/daemon/message-protocol.d.ts +132 -0
- package/dist/src/daemon/message-protocol.d.ts.map +1 -0
- package/dist/src/daemon/message-protocol.js +252 -0
- package/dist/src/daemon/message-protocol.js.map +1 -0
- package/dist/src/daemon/named-pipe-client.d.ts +61 -0
- package/dist/src/daemon/named-pipe-client.d.ts.map +1 -0
- package/dist/src/daemon/named-pipe-client.js +221 -0
- package/dist/src/daemon/named-pipe-client.js.map +1 -0
- package/dist/src/daemon/named-pipe-server.d.ts +40 -0
- package/dist/src/daemon/named-pipe-server.d.ts.map +1 -0
- package/dist/src/daemon/named-pipe-server.js +102 -0
- package/dist/src/daemon/named-pipe-server.js.map +1 -0
- package/dist/src/daemon/orphan-detector.d.ts +66 -0
- package/dist/src/daemon/orphan-detector.d.ts.map +1 -0
- package/dist/src/daemon/orphan-detector.js +208 -0
- package/dist/src/daemon/orphan-detector.js.map +1 -0
- package/dist/src/daemon/pid-manager.d.ts +49 -0
- package/dist/src/daemon/pid-manager.d.ts.map +1 -0
- package/dist/src/daemon/pid-manager.js +110 -0
- package/dist/src/daemon/pid-manager.js.map +1 -0
- package/dist/src/daemon/procman-daemon.d.ts +188 -0
- package/dist/src/daemon/procman-daemon.d.ts.map +1 -0
- package/dist/src/daemon/procman-daemon.js +802 -0
- package/dist/src/daemon/procman-daemon.js.map +1 -0
- package/dist/src/daemon/reconnection-system.d.ts +113 -0
- package/dist/src/daemon/reconnection-system.d.ts.map +1 -0
- package/dist/src/daemon/reconnection-system.js +223 -0
- package/dist/src/daemon/reconnection-system.js.map +1 -0
- package/dist/src/daemon/resource-manager.d.ts +204 -0
- package/dist/src/daemon/resource-manager.d.ts.map +1 -0
- package/dist/src/daemon/resource-manager.js +423 -0
- package/dist/src/daemon/resource-manager.js.map +1 -0
- package/dist/src/daemon/signal-handler.d.ts +58 -0
- package/dist/src/daemon/signal-handler.d.ts.map +1 -0
- package/dist/src/daemon/signal-handler.js +142 -0
- package/dist/src/daemon/signal-handler.js.map +1 -0
- package/dist/src/daemon/simple-resource-manager.d.ts +95 -0
- package/dist/src/daemon/simple-resource-manager.d.ts.map +1 -0
- package/dist/src/daemon/simple-resource-manager.js +180 -0
- package/dist/src/daemon/simple-resource-manager.js.map +1 -0
- package/dist/src/daemon/unix-socket-client.d.ts +69 -0
- package/dist/src/daemon/unix-socket-client.d.ts.map +1 -0
- package/dist/src/daemon/unix-socket-client.js +313 -0
- package/dist/src/daemon/unix-socket-client.js.map +1 -0
- package/dist/src/daemon/unix-socket-server.d.ts +61 -0
- package/dist/src/daemon/unix-socket-server.d.ts.map +1 -0
- package/dist/src/daemon/unix-socket-server.js +262 -0
- package/dist/src/daemon/unix-socket-server.js.map +1 -0
- package/dist/src/daemon/zombie-reaper.d.ts +83 -0
- package/dist/src/daemon/zombie-reaper.d.ts.map +1 -0
- package/dist/src/daemon/zombie-reaper.js +278 -0
- package/dist/src/daemon/zombie-reaper.js.map +1 -0
- package/dist/src/process-manager/index.d.ts +13 -0
- package/dist/src/process-manager/index.d.ts.map +1 -0
- package/dist/src/process-manager/index.js +11 -0
- package/dist/src/process-manager/index.js.map +1 -0
- package/dist/src/process-manager/interfaces/index.d.ts +31 -0
- package/dist/src/process-manager/interfaces/index.d.ts.map +1 -0
- package/dist/src/process-manager/interfaces/index.js +14 -0
- package/dist/src/process-manager/interfaces/index.js.map +1 -0
- package/dist/src/process-manager/interfaces/process-group.d.ts +200 -0
- package/dist/src/process-manager/interfaces/process-group.d.ts.map +1 -0
- package/dist/src/process-manager/interfaces/process-group.js +10 -0
- package/dist/src/process-manager/interfaces/process-group.js.map +1 -0
- package/dist/src/process-manager/interfaces/process-lifecycle.d.ts +97 -0
- package/dist/src/process-manager/interfaces/process-lifecycle.d.ts.map +1 -0
- package/dist/src/process-manager/interfaces/process-lifecycle.js +10 -0
- package/dist/src/process-manager/interfaces/process-lifecycle.js.map +1 -0
- package/dist/src/process-manager/interfaces/process-monitor.d.ts +118 -0
- package/dist/src/process-manager/interfaces/process-monitor.d.ts.map +1 -0
- package/dist/src/process-manager/interfaces/process-monitor.js +10 -0
- package/dist/src/process-manager/interfaces/process-monitor.js.map +1 -0
- package/dist/src/process-manager/interfaces/process-persistence.d.ts +125 -0
- package/dist/src/process-manager/interfaces/process-persistence.d.ts.map +1 -0
- package/dist/src/process-manager/interfaces/process-persistence.js +10 -0
- package/dist/src/process-manager/interfaces/process-persistence.js.map +1 -0
- package/dist/src/process-manager/managed-process-info.d.ts +307 -0
- package/dist/src/process-manager/managed-process-info.d.ts.map +1 -0
- package/dist/src/process-manager/managed-process-info.js +650 -0
- package/dist/src/process-manager/managed-process-info.js.map +1 -0
- package/dist/src/process-manager/process-group-manager.d.ts +103 -0
- package/dist/src/process-manager/process-group-manager.d.ts.map +1 -0
- package/dist/src/process-manager/process-group-manager.js +400 -0
- package/dist/src/process-manager/process-group-manager.js.map +1 -0
- package/dist/src/process-manager/process-lifecycle-manager.d.ts +68 -0
- package/dist/src/process-manager/process-lifecycle-manager.d.ts.map +1 -0
- package/dist/src/process-manager/process-lifecycle-manager.js +372 -0
- package/dist/src/process-manager/process-lifecycle-manager.js.map +1 -0
- package/dist/src/process-manager/process-manager.d.ts +296 -0
- package/dist/src/process-manager/process-manager.d.ts.map +1 -0
- package/dist/src/process-manager/process-manager.js +659 -0
- package/dist/src/process-manager/process-manager.js.map +1 -0
- package/dist/src/process-manager/process-monitor.d.ts +95 -0
- package/dist/src/process-manager/process-monitor.d.ts.map +1 -0
- package/dist/src/process-manager/process-monitor.js +357 -0
- package/dist/src/process-manager/process-monitor.js.map +1 -0
- package/dist/src/process-manager/process-persistence.d.ts +68 -0
- package/dist/src/process-manager/process-persistence.d.ts.map +1 -0
- package/dist/src/process-manager/process-persistence.js +364 -0
- package/dist/src/process-manager/process-persistence.js.map +1 -0
- package/dist/src/process-manager/utils/mutex.d.ts +82 -0
- package/dist/src/process-manager/utils/mutex.d.ts.map +1 -0
- package/dist/src/process-manager/utils/mutex.js +172 -0
- package/dist/src/process-manager/utils/mutex.js.map +1 -0
- package/dist/src/services/index.d.ts +8 -0
- package/dist/src/services/index.d.ts.map +1 -0
- package/dist/src/services/index.js +8 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/log-manager-config.d.ts +65 -0
- package/dist/src/services/log-manager-config.d.ts.map +1 -0
- package/dist/src/services/log-manager-config.js +145 -0
- package/dist/src/services/log-manager-config.js.map +1 -0
- package/dist/src/services/log-manager-factory.d.ts +134 -0
- package/dist/src/services/log-manager-factory.d.ts.map +1 -0
- package/dist/src/services/log-manager-factory.js +203 -0
- package/dist/src/services/log-manager-factory.js.map +1 -0
- package/dist/src/services/log-manager.d.ts +170 -0
- package/dist/src/services/log-manager.d.ts.map +1 -0
- package/dist/src/services/log-manager.js +1199 -0
- package/dist/src/services/log-manager.js.map +1 -0
- package/dist/src/services/log-path-validator.d.ts +121 -0
- package/dist/src/services/log-path-validator.d.ts.map +1 -0
- package/dist/src/services/log-path-validator.js +302 -0
- package/dist/src/services/log-path-validator.js.map +1 -0
- package/dist/src/services/process-log-integration.d.ts +62 -0
- package/dist/src/services/process-log-integration.d.ts.map +1 -0
- package/dist/src/services/process-log-integration.js +157 -0
- package/dist/src/services/process-log-integration.js.map +1 -0
- package/dist/src/shared/config.d.ts +67 -0
- package/dist/src/shared/config.d.ts.map +1 -0
- package/dist/src/shared/config.js +92 -0
- package/dist/src/shared/config.js.map +1 -0
- package/dist/src/shared/constants-streaming.d.ts +39 -0
- package/dist/src/shared/constants-streaming.d.ts.map +1 -0
- package/dist/src/shared/constants-streaming.js +39 -0
- package/dist/src/shared/constants-streaming.js.map +1 -0
- package/dist/src/shared/constants.d.ts +60 -0
- package/dist/src/shared/constants.d.ts.map +1 -0
- package/dist/src/shared/constants.js +71 -0
- package/dist/src/shared/constants.js.map +1 -0
- package/dist/src/shared/errors.d.ts +70 -0
- package/dist/src/shared/errors.d.ts.map +1 -0
- package/dist/src/shared/errors.js +101 -0
- package/dist/src/shared/errors.js.map +1 -0
- package/dist/src/shared/index.d.ts +14 -0
- package/dist/src/shared/index.d.ts.map +1 -0
- package/dist/src/shared/index.js +22 -0
- package/dist/src/shared/index.js.map +1 -0
- package/dist/src/shared/ipc.d.ts +402 -0
- package/dist/src/shared/ipc.d.ts.map +1 -0
- package/dist/src/shared/ipc.js +85 -0
- package/dist/src/shared/ipc.js.map +1 -0
- package/dist/src/shared/logger.d.ts +38 -0
- package/dist/src/shared/logger.d.ts.map +1 -0
- package/dist/src/shared/logger.js +139 -0
- package/dist/src/shared/logger.js.map +1 -0
- package/dist/src/shared/logs.d.ts +53 -0
- package/dist/src/shared/logs.d.ts.map +1 -0
- package/dist/src/shared/logs.js +26 -0
- package/dist/src/shared/logs.js.map +1 -0
- package/dist/src/shared/process.d.ts +102 -0
- package/dist/src/shared/process.d.ts.map +1 -0
- package/dist/src/shared/process.js +55 -0
- package/dist/src/shared/process.js.map +1 -0
- package/dist/src/shared/types.d.ts +15 -0
- package/dist/src/shared/types.d.ts.map +1 -0
- package/dist/src/shared/types.js +8 -0
- package/dist/src/shared/types.js.map +1 -0
- package/dist/src/types/index.d.ts +19 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +5 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/utils/event-cleanup.d.ts +30 -0
- package/dist/src/utils/event-cleanup.d.ts.map +1 -0
- package/dist/src/utils/event-cleanup.js +32 -0
- package/dist/src/utils/event-cleanup.js.map +1 -0
- package/dist/src/utils/memory/memory-monitor.d.ts +126 -0
- package/dist/src/utils/memory/memory-monitor.d.ts.map +1 -0
- package/dist/src/utils/memory/memory-monitor.js +246 -0
- package/dist/src/utils/memory/memory-monitor.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ManagedProcessInfo - Individual process information management
|
|
3
|
+
*
|
|
4
|
+
* This class manages the information and statistics for a single process,
|
|
5
|
+
* including uptime tracking, restart counting, and state change recording.
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from 'events';
|
|
8
|
+
import { ProcessInfo, ProcessStatus, ProcessStateChange, MemorySample, CPUSample, PersistedManagedProcessInfo } from '../shared/process.js';
|
|
9
|
+
import { ProcessConfig } from './process-manager.js';
|
|
10
|
+
/**
|
|
11
|
+
* Process statistics for tracking performance and behavior
|
|
12
|
+
*/
|
|
13
|
+
export interface ProcessStatistics {
|
|
14
|
+
/** Start time timestamp */
|
|
15
|
+
startedAt: number | null;
|
|
16
|
+
/** Last status change timestamp */
|
|
17
|
+
lastStatusChange: number;
|
|
18
|
+
/** Total restart count */
|
|
19
|
+
restarts: number;
|
|
20
|
+
/** Last restart timestamp */
|
|
21
|
+
lastRestart: number | null;
|
|
22
|
+
/** Memory usage history (last 10 measurements) - DEPRECATED: use memoryHistory instead */
|
|
23
|
+
memoryHistory: number[];
|
|
24
|
+
/** CPU usage history (last 10 measurements) - DEPRECATED: use cpuHistory instead */
|
|
25
|
+
cpuHistory: number[];
|
|
26
|
+
/** Current memory usage in bytes */
|
|
27
|
+
currentMemory: number;
|
|
28
|
+
/** Current CPU usage percentage */
|
|
29
|
+
currentCpu: number;
|
|
30
|
+
/** Consecutive failure count for restart control */
|
|
31
|
+
consecutiveFailures: number;
|
|
32
|
+
/** Timestamp of first failure in current window */
|
|
33
|
+
firstFailureTime: number | null;
|
|
34
|
+
/** Flag to indicate auto-restart is enabled */
|
|
35
|
+
autoRestartEnabled: boolean;
|
|
36
|
+
/** Next restart delay in milliseconds */
|
|
37
|
+
nextRestartDelay: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Events emitted by ManagedProcessInfo
|
|
41
|
+
*/
|
|
42
|
+
export interface ManagedProcessEvents {
|
|
43
|
+
/** Process status changed */
|
|
44
|
+
'status-change': (newStatus: ProcessStatus, oldStatus: ProcessStatus) => void;
|
|
45
|
+
/** Process started */
|
|
46
|
+
start: (pid: number) => void;
|
|
47
|
+
/** Process stopped */
|
|
48
|
+
stop: (exitCode: number | null) => void;
|
|
49
|
+
/** Process restarted */
|
|
50
|
+
restart: (restartCount: number) => void;
|
|
51
|
+
/** Process memory limit exceeded */
|
|
52
|
+
'memory-limit': (memoryUsage: number, limit: number) => void;
|
|
53
|
+
/** Process error occurred */
|
|
54
|
+
error: (error: Error) => void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Manages information and statistics for a single process
|
|
58
|
+
*/
|
|
59
|
+
export declare class ManagedProcessInfo extends EventEmitter {
|
|
60
|
+
private readonly config;
|
|
61
|
+
private status;
|
|
62
|
+
private pid;
|
|
63
|
+
private statistics;
|
|
64
|
+
private stateHistory;
|
|
65
|
+
private memoryHistoryDetailed;
|
|
66
|
+
private cpuHistoryDetailed;
|
|
67
|
+
private lastCrashTime;
|
|
68
|
+
constructor(config: ProcessConfig);
|
|
69
|
+
/**
|
|
70
|
+
* Update process configuration
|
|
71
|
+
* @param newConfig New configuration
|
|
72
|
+
*/
|
|
73
|
+
updateConfig(newConfig: ProcessConfig): void;
|
|
74
|
+
/**
|
|
75
|
+
* Get process name
|
|
76
|
+
* @returns Process name
|
|
77
|
+
*/
|
|
78
|
+
getName(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Get process namespace
|
|
81
|
+
* @returns Process namespace
|
|
82
|
+
*/
|
|
83
|
+
getNamespace(): string;
|
|
84
|
+
/**
|
|
85
|
+
* Get process configuration
|
|
86
|
+
* @returns Process configuration (read-only copy)
|
|
87
|
+
*/
|
|
88
|
+
getConfig(): Readonly<ProcessConfig>;
|
|
89
|
+
/**
|
|
90
|
+
* Get current process information
|
|
91
|
+
* @returns Process information
|
|
92
|
+
*/
|
|
93
|
+
getProcessInfo(): ProcessInfo;
|
|
94
|
+
/**
|
|
95
|
+
* Get current process information (alias for getProcessInfo)
|
|
96
|
+
* @returns Process information
|
|
97
|
+
*/
|
|
98
|
+
toProcessInfo(): ProcessInfo;
|
|
99
|
+
/**
|
|
100
|
+
* Get detailed process statistics
|
|
101
|
+
* @returns Process statistics
|
|
102
|
+
*/
|
|
103
|
+
getStatistics(): Readonly<ProcessStatistics>;
|
|
104
|
+
/**
|
|
105
|
+
* Get current status
|
|
106
|
+
* @returns Current process status
|
|
107
|
+
*/
|
|
108
|
+
getStatus(): ProcessStatus;
|
|
109
|
+
/**
|
|
110
|
+
* Set process status
|
|
111
|
+
* @param newStatus New status
|
|
112
|
+
* @param emitEvent Whether to emit status change event (default: true)
|
|
113
|
+
* @param reason Optional reason for the status change
|
|
114
|
+
*/
|
|
115
|
+
setStatus(newStatus: ProcessStatus, emitEvent?: boolean, reason?: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* Get current PID
|
|
118
|
+
* @returns Process ID or null if not running
|
|
119
|
+
*/
|
|
120
|
+
getPid(): number | null;
|
|
121
|
+
/**
|
|
122
|
+
* Set process PID
|
|
123
|
+
* @param pid Process ID
|
|
124
|
+
*/
|
|
125
|
+
setPid(pid: number | null): void;
|
|
126
|
+
/**
|
|
127
|
+
* Calculate process uptime in milliseconds
|
|
128
|
+
* @returns Uptime in milliseconds
|
|
129
|
+
*/
|
|
130
|
+
calculateUptime(): number;
|
|
131
|
+
/**
|
|
132
|
+
* Update memory usage
|
|
133
|
+
* @param memoryUsage Memory usage in bytes
|
|
134
|
+
*/
|
|
135
|
+
updateMemoryUsage(memoryUsage: number): void;
|
|
136
|
+
/**
|
|
137
|
+
* Update CPU usage
|
|
138
|
+
* @param cpuUsage CPU usage percentage
|
|
139
|
+
*/
|
|
140
|
+
updateCpuUsage(cpuUsage: number): void;
|
|
141
|
+
/**
|
|
142
|
+
* Get average memory usage from history
|
|
143
|
+
* @returns Average memory usage in bytes
|
|
144
|
+
*/
|
|
145
|
+
getAverageMemoryUsage(): number;
|
|
146
|
+
/**
|
|
147
|
+
* Get average CPU usage from history
|
|
148
|
+
* @returns Average CPU usage percentage
|
|
149
|
+
*/
|
|
150
|
+
getAverageCpuUsage(): number;
|
|
151
|
+
/**
|
|
152
|
+
* Get current memory usage
|
|
153
|
+
* @returns Current memory usage in bytes
|
|
154
|
+
*/
|
|
155
|
+
getMemoryUsage(): number;
|
|
156
|
+
/**
|
|
157
|
+
* Record a restart
|
|
158
|
+
*/
|
|
159
|
+
recordRestart(): void;
|
|
160
|
+
/**
|
|
161
|
+
* Increment restart count (alias for recordRestart)
|
|
162
|
+
*/
|
|
163
|
+
incrementRestarts(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Reset restart count
|
|
166
|
+
*/
|
|
167
|
+
resetRestartCount(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Get time since last restart
|
|
170
|
+
* @returns Time since last restart in milliseconds, or null if never restarted
|
|
171
|
+
*/
|
|
172
|
+
getTimeSinceLastRestart(): number | null;
|
|
173
|
+
/**
|
|
174
|
+
* Emit start event
|
|
175
|
+
* @param pid Process ID
|
|
176
|
+
*/
|
|
177
|
+
emitStart(pid: number): void;
|
|
178
|
+
/**
|
|
179
|
+
* Emit stop event
|
|
180
|
+
* @param exitCode Exit code
|
|
181
|
+
*/
|
|
182
|
+
emitStop(exitCode: number | null): void;
|
|
183
|
+
/**
|
|
184
|
+
* Emit error event
|
|
185
|
+
* @param error Error object
|
|
186
|
+
*/
|
|
187
|
+
emitError(error: Error): void;
|
|
188
|
+
/**
|
|
189
|
+
* Check if process should be monitored
|
|
190
|
+
* @returns True if process is in a monitorable state
|
|
191
|
+
*/
|
|
192
|
+
isMonitorable(): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Check if process is running
|
|
195
|
+
* @returns True if process is running
|
|
196
|
+
*/
|
|
197
|
+
isRunning(): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Check if process is stopped
|
|
200
|
+
* @returns True if process is stopped
|
|
201
|
+
*/
|
|
202
|
+
isStopped(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Check if process has memory limit configured
|
|
205
|
+
* @returns True if memory limit is configured
|
|
206
|
+
*/
|
|
207
|
+
hasMemoryLimit(): boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Get memory limit in bytes
|
|
210
|
+
* @returns Memory limit in bytes or undefined if not configured
|
|
211
|
+
*/
|
|
212
|
+
getMemoryLimit(): number | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* Check if auto-restart is enabled
|
|
215
|
+
* @returns True if auto-restart is enabled
|
|
216
|
+
*/
|
|
217
|
+
isAutoRestartEnabled(): boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Enable or disable auto-restart
|
|
220
|
+
* @param enabled Auto-restart enabled flag
|
|
221
|
+
*/
|
|
222
|
+
setAutoRestartEnabled(enabled: boolean): void;
|
|
223
|
+
/**
|
|
224
|
+
* Record a restart failure
|
|
225
|
+
*/
|
|
226
|
+
recordRestartFailure(): void;
|
|
227
|
+
/**
|
|
228
|
+
* Record a successful restart (reset failure counters)
|
|
229
|
+
*/
|
|
230
|
+
recordRestartSuccess(): void;
|
|
231
|
+
/**
|
|
232
|
+
* Reset restart failure counters
|
|
233
|
+
*/
|
|
234
|
+
resetRestartFailures(): void;
|
|
235
|
+
/**
|
|
236
|
+
* Get consecutive failure count
|
|
237
|
+
* @returns Number of consecutive failures
|
|
238
|
+
*/
|
|
239
|
+
getConsecutiveFailures(): number;
|
|
240
|
+
/**
|
|
241
|
+
* Get next restart delay
|
|
242
|
+
* @returns Next restart delay in milliseconds
|
|
243
|
+
*/
|
|
244
|
+
getNextRestartDelay(): number;
|
|
245
|
+
/**
|
|
246
|
+
* Calculate next restart delay using exponential backoff
|
|
247
|
+
*/
|
|
248
|
+
private calculateNextRestartDelay;
|
|
249
|
+
/**
|
|
250
|
+
* Check if restart should be attempted based on failure count
|
|
251
|
+
* @returns True if restart should be attempted
|
|
252
|
+
*/
|
|
253
|
+
shouldRestart(): boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Check if this is an unexpected exit (crash detection)
|
|
256
|
+
* @param exitCode Process exit code
|
|
257
|
+
* @param signal Process exit signal
|
|
258
|
+
* @returns True if this is considered an unexpected exit
|
|
259
|
+
*/
|
|
260
|
+
isUnexpectedExit(exitCode: number | null, signal: string | null): boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Clean up resources (non-destructive, maintains data for persistence)
|
|
263
|
+
*/
|
|
264
|
+
cleanup(): void;
|
|
265
|
+
/**
|
|
266
|
+
* Dispose of all resources (destructive, clears all data)
|
|
267
|
+
*/
|
|
268
|
+
dispose(): void;
|
|
269
|
+
/**
|
|
270
|
+
* Add a state change to history
|
|
271
|
+
* @param from Previous status
|
|
272
|
+
* @param to New status
|
|
273
|
+
* @param reason Optional reason for change
|
|
274
|
+
*/
|
|
275
|
+
private addStateChange;
|
|
276
|
+
/**
|
|
277
|
+
* Get state change history
|
|
278
|
+
* @returns Array of state changes
|
|
279
|
+
*/
|
|
280
|
+
getStateHistory(): Readonly<ProcessStateChange[]>;
|
|
281
|
+
/**
|
|
282
|
+
* Get memory usage history with timestamps
|
|
283
|
+
* @returns Array of memory samples
|
|
284
|
+
*/
|
|
285
|
+
getMemoryHistory(): Readonly<MemorySample[]>;
|
|
286
|
+
/**
|
|
287
|
+
* Get CPU usage history with timestamps
|
|
288
|
+
* @returns Array of CPU samples
|
|
289
|
+
*/
|
|
290
|
+
getCpuHistory(): Readonly<CPUSample[]>;
|
|
291
|
+
/**
|
|
292
|
+
* Get last crash time
|
|
293
|
+
* @returns Last crash timestamp or null if never crashed
|
|
294
|
+
*/
|
|
295
|
+
getLastCrashTime(): number | null;
|
|
296
|
+
/**
|
|
297
|
+
* Serialize process information for persistence
|
|
298
|
+
* @returns Serializable process information
|
|
299
|
+
*/
|
|
300
|
+
toJSON(): PersistedManagedProcessInfo;
|
|
301
|
+
/**
|
|
302
|
+
* Restore process state from persisted data
|
|
303
|
+
* @param persistedState Previously saved state
|
|
304
|
+
*/
|
|
305
|
+
restoreState(persistedState: Omit<PersistedManagedProcessInfo, 'name'>): void;
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=managed-process-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-process-info.d.ts","sourceRoot":"","sources":["../../../src/process-manager/managed-process-info.ts"],"names":[],"mappings":"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"}
|