系统资源统计
2025/7/27小于 1 分钟componentcpumemory
概述
stat是对系统和服务资源(CPU、内存)进行使用情况统计的组件。
资源统计配置
在 sponge 创建的服务中,资源统计组件默认是开启的。
在configs目录下 yaml 配置文件设置字段enableStat:
app:
  enableStat: true    # 是否开启资源统计,true:启用,false:关闭默认每分钟统计一次并输出到日志,资源统计包括系统和服务本身这两部分的 cpu 和内存相关的数据。
使用示例
在服务启动时,初始化资源统计组件:
    import (
        "github.com/go-dev-frame/sponge/pkg/stat"
        "github.com/go-dev-frame/sponge/pkg/logger"
    )
    stat.Init(
        stat.WithLog(logger.Get()),
        stat.WithPrintField(logger.String("service_name", cfg.App.Name), logger.String("host", cfg.App.Host)), // 添加自定义打印字段
        stat.WithPrintInterval(time.Minute), // 打印统计信息间隔
        stat.WithEnableAlarm(stat.WithCPUThreshold(0.85), stat.WithMemoryThreshold(0.85)), // 当CPU或内存使用率超过阈值时,触发通知,对于 Windows 系统,系统信号可能不生效
    )