feat: 新增日志中心、功能优化与代码重构
- 新增 log_datasource.go / log_proxy.go / user_api_token.go 后端控制器 - 新增 log_datasource.go model - 新增 monitor/log-center.ts API 模块 - 新增 LogCenter 前端组件及页面 - 重构 deployment 相关组件 (HPDA/UpdateImageModal/bundle-yaml 等) - 新增 ResetPasswordDialog / code-snippet-block / copy-button 等 UI 组件 - 重构多个 k8s 相关组件 (TopologyView/ResourceVisualEditor/PodFileBrowser 等) - 更新多个 API 和工具函数 (auth.ts/monitor/index.ts/request.ts 等) - 更新静态资源 (index.html + 新 JS/CSS bundle) - 删除废弃静态资源文件
This commit is contained in:
1 parent
5ca0e6d83a
commit
8d46e8f352
197 files changed
+5014
-815
No files matched your search
@@ -42,9 +42,12 @@ func (h *KubernetesHandler) ListNodes(c *gin.Context) {
|
||||
OS string `json:"os"`
|
||||
Kubelet string `json:"kubelet_version"`
|
||||
CPU int `json:"cpu"`
|
||||
Memory int64 `json:"memory_mb"`
|
||||
Memory int64 `json:"memory"` // MiB
|
||||
MaxPods int `json:"max_pods"`
|
||||
// Metrics (optional, omitted if empty)
|
||||
// Metrics percent (for list usage bars)
|
||||
CPUUsage float64 `json:"cpu_usage,omitempty"`
|
||||
MemoryUsage float64 `json:"memory_usage,omitempty"`
|
||||
// Metrics absolute (for detail pages)
|
||||
CPUUsageM string `json:"cpu_usage_m,omitempty"` // e.g. "122m"
|
||||
MemUsageMi string `json:"mem_usage_mi,omitempty"` // e.g. "2105Mi"
|
||||
}
|
||||
@@ -71,6 +74,8 @@ func (h *KubernetesHandler) ListNodes(c *gin.Context) {
|
||||
break
|
||||
}
|
||||
}
|
||||
cpuCapacity := parseIntResource(n.Status.Capacity["cpu"])
|
||||
memCapacity := parseMemResource(n.Status.Capacity["memory"])
|
||||
s := NodeSummary{
|
||||
Name: n.Metadata.Name,
|
||||
IP: ip,
|
||||
@@ -78,14 +83,23 @@ func (h *KubernetesHandler) ListNodes(c *gin.Context) {
|
||||
Status: nodeStatus,
|
||||
OS: n.Status.NodeInfo.OSImage,
|
||||
Kubelet: n.Status.NodeInfo.KubeletVersion,
|
||||
CPU: parseIntResource(n.Status.Capacity["cpu"]),
|
||||
Memory: parseMemResource(n.Status.Capacity["memory"]),
|
||||
CPU: cpuCapacity,
|
||||
Memory: memCapacity,
|
||||
MaxPods: parseIntResource(n.Status.Capacity["pods"]),
|
||||
}
|
||||
if m, ok := metrics[n.Metadata.Name]; ok {
|
||||
// K8s metrics API returns CPU in nanocores ("80410173n"), memory in Ki ("2154292Ki")
|
||||
s.CPUUsageM = formatCpuFromNano(m.Usage["cpu"])
|
||||
s.MemUsageMi = formatMemFromKi(m.Usage["memory"])
|
||||
// 计算百分比用于列表页使用率条 // Logan.Li
|
||||
if cpuCapacity > 0 {
|
||||
cpuMillicores := parseCpuNanoToMilli(m.Usage["cpu"])
|
||||
s.CPUUsage = float64(cpuMillicores) / float64(cpuCapacity*1000) * 100
|
||||
}
|
||||
if memCapacity > 0 {
|
||||
memMi := parseMemKiToMi(m.Usage["memory"])
|
||||
s.MemoryUsage = float64(memMi) / float64(memCapacity) * 100
|
||||
}
|
||||
}
|
||||
result = append(result, s)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user