chore: 并入 iotlcm-app 历史到 app/(原提交 f40bda9)

This commit is contained in:
MiFaZhan
2026-11-02 13:28:00 +08:00
1107 changed files with 147143 additions and 0 deletions
@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package monitor
@@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package monitor
import (
"git.5iot.com/iotlcm-public/iotlcm-app/api/monitor"
)
type ControllerV1 struct{}
func NewV1() monitor.IMonitorV1 {
return &ControllerV1{}
}
@@ -0,0 +1,57 @@
package monitor
import (
"context"
"strings"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/util/gconv"
v1 "git.5iot.com/iotlcm-public/iotlcm-app/api/monitor/v1"
"git.5iot.com/iotlcm-public/iotlcm-app/utility"
)
func (c *ControllerV1) RedisInfo(ctx context.Context, req *v1.RedisInfoReq) (res *v1.RedisInfoRes, err error) {
info, err := g.Redis().Do(ctx, "INFO")
if err != nil {
return nil, err
}
infoMap := make(map[string]string)
for _, line := range strings.Split(info.String(), "\n") {
if strings.HasPrefix(line, "#") {
continue
}
parts := strings.Split(line, ":")
if len(parts) == 2 {
infoMap[parts[0]] = parts[1]
}
}
dbSize := gconv.Int(infoMap["db0"])
info, err = g.Redis().Do(ctx, "INFO", "COMMANDSTATS")
if err != nil {
return nil, err
}
commandStats := make([]*v1.CommandStats, 0)
for _, line := range strings.Split(info.String(), "\n") {
if strings.HasPrefix(line, "#") {
continue
}
parts := strings.Split(line, ":")
if len(parts) == 2 {
if strings.HasPrefix(parts[0], "cmdstat_") {
commandStats = append(commandStats, &v1.CommandStats{
Name: strings.TrimPrefix(parts[0], "cmdstat_"),
Value: utility.GetBetweenStr(parts[1], "calls=", ",usec"),
})
}
}
}
return &v1.RedisInfoRes{
Info: infoMap,
DBSize: dbSize,
CommandStats: commandStats,
}, nil
}