系统资源统计
小于 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 系统,系统信号可能不生效
)