package xjpubmodel import ( "github.com/gogf/gf/v2/os/gtime" "github.com/gogf/gf/v2/util/gconv" ) type MetricItem struct { Name string `json:"name"` Value float64 `json:"value"` Time *gtime.Time `json:"time"` } func (m *MetricItem) SetValue(value interface{}) { m.Value = gconv.Float64(value) m.Time = gtime.Now() } func (m *MetricItem) GetValue() float64 { return m.Value } func (m *MetricItem) GetTime() *gtime.Time { return m.Time } func (m *MetricItem) GetName() string { return m.Name } func (m *MetricItem) SetName(name string) { m.Name = name } func (m *MetricItem) AddValue(value interface{}) { m.Value += gconv.Float64(value) m.Time = gtime.Now() } func (m *MetricItem) Inc() { m.Value++ m.Time = gtime.Now() } func (m *MetricItem) Dec() { m.Value-- m.Time = gtime.Now() } type MetricData struct { MetricClientCount MetricItem `json:"clientCount"` // 当前在线数 MetricConnectedCounter MetricItem `json:"connectedCounter"` // 连接数 MetricDisconnectedCounter MetricItem `json:"disconnectedCounter"` // 断开连接数 MetricRecvPkgCount MetricItem `json:"recvPkgCount"` // 接收包数 MetricSendPkgCount MetricItem `json:"sendPkgCount"` // 发送包数 MetricRecvPkgSize MetricItem `json:"recvPkgSize"` // 接收包大小 MetricSendPkgSize MetricItem `json:"sendPkgSize"` // 发送包大小 MetricRecvPkgTime MetricItem `json:"recvPkgTime"` // 接收包时间(毫秒) MetricSendPkgTime MetricItem `json:"sendPkgTime"` // 发送包时间(毫秒) MetricSubTopicCount MetricItem `json:"subTopicCount"` // 订阅主题数 MetricAuthSuccessCount MetricItem `json:"authSuccessCount"` // 认证成功数 MetricAuthFailCount MetricItem `json:"authFailCount"` // 认证失败数 MetricAuthCostTime MetricItem `json:"authCostTime"` // 认证耗时 MetricUpMsgConnectCostTime MetricItem `json:"upMsgConnectCostTime"` // 上行消息连接耗时(毫秒) MetricUpMsgDataCostTime MetricItem `json:"upMsgDataCostTime"` // 上行消息数据耗时(毫秒) MetricUpMsgDisconnectCostTime MetricItem `json:"upMsgDisconnectCostTime"` // 上行消息断开连接耗时(毫秒) MetricTopicCount MetricItem `json:"topicCount"` // 累计主题数 MetricProcessMemSize MetricItem `json:"processMemSize"` // 进程内存大小 MetricProcessCpuUsage MetricItem `json:"processCpuUsage"` // 进程CPU使用率 MetricProcessThreads MetricItem `json:"processThreads"` // 进程线程数 MetricProcessGoroutines MetricItem `json:"processGoroutines"` // 进程协程数 MetricSysCpuNum MetricItem `json:"sysCpuNum"` // 系统CPU数量 MetricSysCpuCores MetricItem `json:"sysCpuCores"` // 系统CPU核数 MetricSysCpuUsage MetricItem `json:"sysCpuUsage"` // 系统CPU使用率 MetricSysCpuLoad1 MetricItem `json:"sysCpuLoad1"` // 系统CPU负载1 MetricSysCpuLoad5 MetricItem `json:"sysCpuLoad5"` // 系统CPU负载2 MetricSysCpuLoad15 MetricItem `json:"sysCpuLoad15"` // 系统CPU负载3 MetricSysMemTotal MetricItem `json:"sysMemTotal"` // 系统内存总量 MetricSysMemUsage MetricItem `json:"sysMemUsage"` // 系统内存使用率 MetricSysDiskTotal MetricItem `json:"sysDiskTotal"` // 系统磁盘总量 MetricSysDiskUsage MetricItem `json:"sysDiskUsage"` // 系统磁盘使用率 MetricWaitMsgCount MetricItem `json:"waitMsgCount"` // 等待消息数量 MetricOneDeviceWaitMsgCount MetricItem `json:"oneDeviceWaitMsgCount"` // 同一个设备等待消息数量 MetricRecvMsgFailCount MetricItem `json:"recvMsgFailCount"` // 接收消息处理失败数 MetricRecvMsgWaitCostTime MetricItem `json:"recvMsgWaitCostTime"` // 接收消息等待耗时 } type XjServerInfo struct { NodeName string `json:"nodeName"` SvrType int `json:"svrType"` SvrCode string `json:"svrCode"` // 服务器编号 ShardId int64 `json:"shardId"` // 分片ID StartTime *gtime.Time `json:"startTime"` // 启动时间 SysIpLan string `json:"sysIpLan"` // 内网IP SysIpWan string `json:"sysIpWan"` // 外网IP AppVersion string `json:"appVersion"` // 程序版本 TenantId string `json:"tenantId"` // 租户ID ReportInterval int64 `json:"reportInterval"` // 上报间隔 }