package com.qqchen.deploy.backend.framework.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 监控指标枚举
 * Framework 提供的服务器监控指标类型
 *
 * @author qqchen
 * @since 2025-12-07
 */
@Getter
@AllArgsConstructor
public enum MonitorMetricEnum {
    /**
     * CPU告警（百分比）
     */
    CPU("CPU", "CPU使用率", "%"),
    
    /**
     * 内存告警（百分比）
     */
    MEMORY("MEMORY", "内存使用率", "%"),
    
    /**
     * 磁盘告警（百分比）
     */
    DISK("DISK", "磁盘使用率", "%"),
    
    /**
     * 网络告警（MB/s）
     */
    NETWORK("NETWORK", "网络使用率", "MB/s"),
    
    /**
     * 服务器状态告警（次数）
     * warningThreshold: 警告级别的连续失败次数
     * criticalThreshold: 严重级别的连续失败次数（标记离线）
     */
    SERVER_STATUS("SERVER_STATUS", "服务器状态", "次");
    
    private final String code;
    private final String description;
    
    /**
     * 度量单位
     */
    private final String unit;
}
