fix: json.Unmarshal will treat int as float64, reflect to float64 then cast to int
This commit is contained in:
parent
283fc39b74
commit
267a9994ea
@ -165,11 +165,11 @@ func (s *service) ContainerRun(arg *RunArgs) (RuntimeStatus, error) {
|
|||||||
case *cgv1.Metrics:
|
case *cgv1.Metrics:
|
||||||
runtime.CpuTime = int(v.CPU.Usage.Total / 1000000) // nanoseconds to milliseconds
|
runtime.CpuTime = int(v.CPU.Usage.Total / 1000000) // nanoseconds to milliseconds
|
||||||
runtime.Memory = int(v.Memory.Usage.Max / 1024) // bytes to kilobytes
|
runtime.Memory = int(v.Memory.Usage.Max / 1024) // bytes to kilobytes
|
||||||
runtime.RealTime = runtime.CpuTime
|
runtime.RealTime = 0 // not supported
|
||||||
case *cgv2.Metrics:
|
case *cgv2.Metrics:
|
||||||
runtime.CpuTime = int(v.CPU.UsageUsec / 1000) // microseconds to milliseconds
|
runtime.CpuTime = int(v.CPU.UsageUsec / 1000) // microseconds to milliseconds
|
||||||
runtime.Memory = int(v.Memory.MaxUsage / 1024) // bytes to kilobytes
|
runtime.Memory = int(v.Memory.MaxUsage / 1024) // bytes to kilobytes
|
||||||
runtime.RealTime = runtime.CpuTime
|
runtime.RealTime = 0 // not supported
|
||||||
default:
|
default:
|
||||||
return RuntimeStatus{}, errors.New("cannot convert metric data to cgroups.{v1/v2}.Metrics")
|
return RuntimeStatus{}, errors.New("cannot convert metric data to cgroups.{v1/v2}.Metrics")
|
||||||
}
|
}
|
||||||
|
@ -82,9 +82,9 @@ func (t *TaskStatus) ExtractSandboxInfo() *TaskStatus {
|
|||||||
t.Message = "cannot parse info file"
|
t.Message = "cannot parse info file"
|
||||||
} else {
|
} else {
|
||||||
t.Runtime = RuntimeStatus{
|
t.Runtime = RuntimeStatus{
|
||||||
RealTime: t.info["real_time"].(int),
|
RealTime: int(t.info["real_time"].(float64)),
|
||||||
CpuTime: t.info["cpu_time"].(int),
|
CpuTime: int(t.info["cpu_time"].(float64)),
|
||||||
Memory: t.info["memory"].(int),
|
Memory: int(t.info["memory"].(float64)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ func (t *TaskStatus) CheckExitCode() *TaskStatus {
|
|||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
if t.info["status"] != "exited" || t.info["code"] != 0 {
|
if t.info["status"] != "exited" || t.info["code"] != 0.0 {
|
||||||
t.Verdict = VerdictRuntimeError
|
t.Verdict = VerdictRuntimeError
|
||||||
t.Message = fmt.Sprintf("status: %v, code: %v", t.info["status"], t.info["code"])
|
t.Message = fmt.Sprintf("status: %v, code: %v", t.info["status"], t.info["code"])
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user