UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

623 lines 9.82 kB
import { DataSize, Percentage, Frequency, ProcessId } from './common'; /** * CPU 信息接口 */ export interface CPUInfo { /** * CPU 型号 */ model: string; /** * 制造商 */ manufacturer: string; /** * 架构 */ architecture: string; /** * 物理核心数 */ cores: number; /** * 逻辑线程数 */ threads: number; /** * 基础频率(MHz) */ baseFrequency: Frequency; /** * 最大频率(MHz) */ maxFrequency: Frequency; /** * 缓存信息 */ cache: CacheInfo; /** * CPU 特性 */ features: string[]; /** * 供应商 ID */ vendorId?: string; /** * CPU 系列 */ family?: number; /** * 型号编号 */ modelNumber?: number; /** * 步进 */ stepping?: number; } /** * CPU 缓存信息 */ export interface CacheInfo { /** * L1 数据缓存 */ l1d?: DataSize; /** * L1 指令缓存 */ l1i?: DataSize; /** * L2 缓存 */ l2?: DataSize; /** * L3 缓存 */ l3?: DataSize; } /** * CPU 频率信息 */ export interface FrequencyInfo { /** * 频率类型 */ type: 'base' | 'max' | 'core'; /** * 频率值(MHz) */ frequency: Frequency; /** * 核心编号(仅当 type 为 'core' 时有效) */ core?: number; } /** * CPU 使用率信息 */ export interface CPUUsage { /** * 总体使用率 */ overall: Percentage; /** * 每个核心的使用率 */ cores: Percentage[]; /** * 用户态时间百分比 */ user: Percentage; /** * 系统态时间百分比 */ system: Percentage; /** * 空闲时间百分比 */ idle: Percentage; /** * I/O 等待时间百分比 */ iowait?: Percentage; /** * 硬中断时间百分比 */ irq?: Percentage; /** * 软中断时间百分比 */ softirq?: Percentage; } /** * 负载平均值 */ export interface LoadAverage { /** * 1 分钟负载平均值 */ load1: number; /** * 5 分钟负载平均值 */ load5: number; /** * 15 分钟负载平均值 */ load15: number; } /** * 内存信息接口 */ export interface MemoryInfo { /** * 总内存 */ total: DataSize; /** * 可用内存 */ available: DataSize; /** * 已使用内存 */ used: DataSize; /** * 空闲内存 */ free: DataSize; /** * 缓存内存 */ cached: DataSize; /** * 缓冲区内存 */ buffers: DataSize; /** * 使用率百分比 */ usagePercentage: Percentage; /** * 内存压力 */ pressure?: MemoryPressure; /** * 共享内存 */ shared?: DataSize; /** * 可回收内存 */ reclaimable?: DataSize; } /** * 内存压力信息 */ export interface MemoryPressure { /** * 压力级别 */ level: 'low' | 'medium' | 'high' | 'critical'; /** * 压力分数(0-100) */ score: Percentage; /** * 交换活动频率 */ swapActivity?: number; } /** * 交换空间信息 */ export interface SwapInfo { /** * 总交换空间 */ total: DataSize; /** * 已使用交换空间 */ used: DataSize; /** * 空闲交换空间 */ free: DataSize; /** * 使用率百分比 */ usagePercentage: Percentage; /** * 换入页数 */ swapIn?: number; /** * 换出页数 */ swapOut?: number; } /** * 磁盘信息接口 */ export interface DiskInfo { /** * 设备名称 */ device: string; /** * 挂载点 */ mountpoint: string; /** * 文件系统类型 */ filesystem: string; /** * 总容量 */ total: DataSize; /** * 已使用空间 */ used: DataSize; /** * 可用空间 */ available: DataSize; /** * 使用率百分比 */ usagePercentage: Percentage; /** * 磁盘类型 */ type?: 'HDD' | 'SSD' | 'NVMe' | 'eMMC' | 'Unknown'; /** * 是否为可移动设备 */ removable?: boolean; } /** * 磁盘 I/O 统计 */ export interface DiskIOStats { /** * 设备名称 */ device: string; /** * 读取字节数 */ readBytes: DataSize; /** * 写入字节数 */ writeBytes: DataSize; /** * 读取次数 */ readCount: number; /** * 写入次数 */ writeCount: number; /** * 读取时间(毫秒) */ readTime: number; /** * 写入时间(毫秒) */ writeTime: number; /** * I/O 等待时间(毫秒) */ ioTime: number; /** * 读取速度(字节/秒) */ readSpeed?: number; /** * 写入速度(字节/秒) */ writeSpeed?: number; /** * IOPS(每秒 I/O 操作次数) */ iops?: number; } /** * 网络接口信息 */ export interface NetworkInterface { /** * 接口名称 */ name: string; /** * IP 地址列表 */ addresses: NetworkAddress[]; /** * MAC 地址 */ mac: string; /** * 接口状态 */ state: 'up' | 'down' | 'unknown'; /** * 接口类型 */ type: 'ethernet' | 'wifi' | 'loopback' | 'virtual' | 'other'; /** * 最大传输单元 */ mtu: number; /** * 是否为内部接口 */ internal: boolean; /** * 连接速度(Mbps) */ speed?: number; /** * 双工模式 */ duplex?: 'full' | 'half' | 'unknown'; } /** * 网络地址信息 */ export interface NetworkAddress { /** * IP 地址 */ address: string; /** * 网络掩码 */ netmask: string; /** * 地址族 */ family: 'IPv4' | 'IPv6'; /** * 是否为内部地址 */ internal: boolean; /** * 作用域 ID(IPv6) */ scopeid?: number; } /** * 网络统计信息 */ export interface NetworkStats { /** * 接口名称 */ interface: string; /** * 接收字节数 */ rxBytes: DataSize; /** * 发送字节数 */ txBytes: DataSize; /** * 接收包数 */ rxPackets: number; /** * 发送包数 */ txPackets: number; /** * 接收错误数 */ rxErrors: number; /** * 发送错误数 */ txErrors: number; /** * 接收丢包数 */ rxDropped: number; /** * 发送丢包数 */ txDropped: number; /** * 接收速度(字节/秒) */ rxSpeed?: number; /** * 发送速度(字节/秒) */ txSpeed?: number; } /** * 进程信息 */ export interface ProcessInfo { /** * 进程 ID */ pid: ProcessId; /** * 父进程 ID */ ppid: ProcessId; /** * 进程名称 */ name: string; /** * 命令行 */ command: string; /** * 进程状态 */ state: 'running' | 'sleeping' | 'waiting' | 'zombie' | 'stopped' | 'unknown'; /** * CPU 使用率 */ cpuUsage: Percentage; /** * 内存使用量 */ memoryUsage: DataSize; /** * 内存使用率 */ memoryPercentage: Percentage; /** * 启动时间 */ startTime: number; /** * 运行时间(毫秒) */ runtime: number; /** * 进程优先级 */ priority?: number; /** * Nice 值 */ nice?: number; /** * 线程数 */ threads?: number; /** * 用户 ID */ uid?: number; /** * 组 ID */ gid?: number; /** * 用户名 */ username?: string; } /** * 系统信息 */ export interface SystemInfo { /** * 主机名 */ hostname: string; /** * 操作系统类型 */ platform: string; /** * 操作系统发行版 */ distro: string; /** * 操作系统版本 */ release: string; /** * 内核版本 */ kernel: string; /** * 系统架构 */ arch: string; /** * 系统运行时间(毫秒) */ uptime: number; /** * 系统运行时间(秒) */ uptimeSeconds?: number; /** * 最近一次启动时间戳(毫秒) */ bootTime?: number; /** * 系统负载 */ loadAverage: LoadAverage; /** * 当前用户数 */ userCount?: number; /** * 总进程数 */ processCount?: number; /** * 系统时间 */ time: number; /** * 时区 */ timezone?: string; } /** * 磁盘使用情况(兼容性别名) */ export type DiskUsage = DiskInfo; /** * 磁盘统计信息(兼容性别名) */ export type DiskStats = DiskIOStats; /** * 挂载点信息 */ export interface MountPoint { /** * 设备路径 */ device: string; /** * 挂载点路径 */ mountpoint: string; /** * 文件系统类型 */ filesystem: string; /** * 挂载选项 */ options: string; } /** * 文件系统信息 */ export interface FileSystem { /** * 文件系统名称 */ name: string; /** * 文件系统类型 */ type: string; /** * 是否支持 */ supported: boolean; } //# sourceMappingURL=monitors.d.ts.map