golang-github-containerd-rpm/0001-Revert-commit-for-Windows-metrics.patch

111 lines
4.6 KiB
Diff
Raw Permalink Normal View History

2025-01-07 13:37:36 +01:00
Index: cmd/ctr/commands/tasks/metrics.go
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/cmd/ctr/commands/tasks/metrics.go b/cmd/ctr/commands/tasks/metrics.go
--- a/cmd/ctr/commands/tasks/metrics.go
+++ b/cmd/ctr/commands/tasks/metrics.go (date 1732200040000)
@@ -23,7 +23,6 @@
"os"
"text/tabwriter"
- wstats "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats"
v1 "github.com/containerd/cgroups/v3/cgroup1/stats"
v2 "github.com/containerd/cgroups/v3/cgroup2/stats"
"github.com/containerd/containerd/cmd/ctr/commands"
@@ -75,8 +74,6 @@
data = &v1.Metrics{}
case typeurl.Is(metric.Data, (*v2.Metrics)(nil)):
data = &v2.Metrics{}
- case typeurl.Is(metric.Data, (*wstats.Statistics)(nil)):
- data = &wstats.Statistics{}
default:
return errors.New("cannot convert metric data to cgroups.Metrics or windows.Statistics")
}
@@ -94,11 +91,6 @@
printCgroupMetricsTable(w, v)
case *v2.Metrics:
printCgroup2MetricsTable(w, v)
- case *wstats.Statistics:
- if err := printWindowsStats(w, v); err != nil {
- return fmt.Errorf("cannot convert metrics data from windows.Statistics: %w", err)
- }
- }
return w.Flush()
case formatJSON:
marshaledJSON, err := json.MarshalIndent(data, "", " ")
@@ -151,72 +143,3 @@
fmt.Fprintf(w, "memory.swap_limit\t%v\t\n", data.Memory.SwapLimit)
}
}
-
-func printWindowsStats(w *tabwriter.Writer, windowsStats *wstats.Statistics) error {
- if windowsStats.GetLinux() != nil {
- var stats v1.Metrics
-
- // It cannot be casted to v1.Metrics since windowsStats is still generated by gogo/protobuf.
- linux := windowsStats.GetLinux()
-
- // But Marshal/Unmarshal works because the underlying protobuf message is compatible.
- data, err := linux.Marshal()
- if err != nil {
- return err
- }
- err = proto.Unmarshal(data, &stats)
- if err != nil {
- return err
- }
-
- printCgroupMetricsTable(w, &stats)
- } else if windowsStats.GetWindows() != nil {
- printWindowsContainerStatistics(w, windowsStats.GetWindows())
- }
- // Print VM stats if its isolated
- if windowsStats.VM != nil {
- printWindowsVMStatistics(w, windowsStats.VM)
- }
- return nil
-}
-
-func printWindowsContainerStatistics(w *tabwriter.Writer, stats *wstats.WindowsContainerStatistics) {
- fmt.Fprintf(w, "METRIC\tVALUE\t\n")
- fmt.Fprintf(w, "timestamp\t%s\t\n", stats.Timestamp)
- fmt.Fprintf(w, "start_time\t%s\t\n", stats.ContainerStartTime)
- fmt.Fprintf(w, "uptime_ns\t%d\t\n", stats.UptimeNS)
- if stats.Processor != nil {
- fmt.Fprintf(w, "cpu.total_runtime_ns\t%d\t\n", stats.Processor.TotalRuntimeNS)
- fmt.Fprintf(w, "cpu.runtime_user_ns\t%d\t\n", stats.Processor.RuntimeUserNS)
- fmt.Fprintf(w, "cpu.runtime_kernel_ns\t%d\t\n", stats.Processor.RuntimeKernelNS)
- }
- if stats.Memory != nil {
- fmt.Fprintf(w, "memory.commit_bytes\t%d\t\n", stats.Memory.MemoryUsageCommitBytes)
- fmt.Fprintf(w, "memory.commit_peak_bytes\t%d\t\n", stats.Memory.MemoryUsageCommitPeakBytes)
- fmt.Fprintf(w, "memory.private_working_set_bytes\t%d\t\n", stats.Memory.MemoryUsagePrivateWorkingSetBytes)
- }
- if stats.Storage != nil {
- fmt.Fprintf(w, "storage.read_count_normalized\t%d\t\n", stats.Storage.ReadCountNormalized)
- fmt.Fprintf(w, "storage.read_size_bytes\t%d\t\n", stats.Storage.ReadSizeBytes)
- fmt.Fprintf(w, "storage.write_count_normalized\t%d\t\n", stats.Storage.WriteCountNormalized)
- fmt.Fprintf(w, "storage.write_size_bytes\t%d\t\n", stats.Storage.WriteSizeBytes)
- }
-}
-
-func printWindowsVMStatistics(w *tabwriter.Writer, stats *wstats.VirtualMachineStatistics) {
- fmt.Fprintf(w, "METRIC\tVALUE\t\n")
- if stats.Processor != nil {
- fmt.Fprintf(w, "vm.cpu.total_runtime_ns\t%d\t\n", stats.Processor.TotalRuntimeNS)
- }
- if stats.Memory != nil {
- fmt.Fprintf(w, "vm.memory.working_set_bytes\t%d\t\n", stats.Memory.WorkingSetBytes)
- fmt.Fprintf(w, "vm.memory.virtual_node_count\t%d\t\n", stats.Memory.VirtualNodeCount)
- fmt.Fprintf(w, "vm.memory.available\t%d\t\n", stats.Memory.VmMemory.AvailableMemory)
- fmt.Fprintf(w, "vm.memory.available_buffer\t%d\t\n", stats.Memory.VmMemory.AvailableMemoryBuffer)
- fmt.Fprintf(w, "vm.memory.reserved\t%d\t\n", stats.Memory.VmMemory.ReservedMemory)
- fmt.Fprintf(w, "vm.memory.assigned\t%d\t\n", stats.Memory.VmMemory.AssignedMemory)
- fmt.Fprintf(w, "vm.memory.slp_active\t%t\t\n", stats.Memory.VmMemory.SlpActive)
- fmt.Fprintf(w, "vm.memory.balancing_enabled\t%t\t\n", stats.Memory.VmMemory.BalancingEnabled)
- fmt.Fprintf(w, "vm.memory.dm_operation_in_progress\t%t\t\n", stats.Memory.VmMemory.DmOperationInProgress)
- }
-}