From 7be025fff3e4e7abdc6cd4d502681ee166adc2b2 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Wed, 30 Jul 2025 17:41:25 +0300 Subject: [PATCH] events/intelrdt: report full schemata Signed-off-by: Markus Lehtonen --- events.go | 2 ++ libcontainer/intelrdt/intelrdt.go | 2 ++ libcontainer/intelrdt/stats.go | 3 +++ types/events.go | 3 +++ 4 files changed, 10 insertions(+) diff --git a/events.go b/events.go index 72a808a3d..53e8c028f 100644 --- a/events.go +++ b/events.go @@ -173,6 +173,8 @@ func convertLibcontainerStats(ls *libcontainer.Stats) *types.Stats { if intelrdt.IsCMTEnabled() { s.IntelRdt.CMTStats = is.CMTStats } + + s.IntelRdt.Schemata = is.Schemata } s.NetworkInterfaces = ls.Interfaces diff --git a/libcontainer/intelrdt/intelrdt.go b/libcontainer/intelrdt/intelrdt.go index f5fde0f83..c3cd9ef23 100644 --- a/libcontainer/intelrdt/intelrdt.go +++ b/libcontainer/intelrdt/intelrdt.go @@ -524,6 +524,8 @@ func (m *Manager) GetStats() (*Stats, error) { } schemaStrings := strings.Split(tmpStrings, "\n") + stats.Schemata = schemaStrings + if IsCATEnabled() { // The read-only L3 cache information l3CacheInfo, err := getL3CacheInfo() diff --git a/libcontainer/intelrdt/stats.go b/libcontainer/intelrdt/stats.go index a5eb2541e..d725af773 100644 --- a/libcontainer/intelrdt/stats.go +++ b/libcontainer/intelrdt/stats.go @@ -45,6 +45,9 @@ type Stats struct { // The memory bandwidth schema in 'container_id' group MemBwSchema string `json:"mem_bw_schema,omitempty"` + // Schemata contains the full schemata of the ClosID (resctrl group) that the container is assigned to. + Schemata []string `json:"schemata,omitempty"` + // The memory bandwidth monitoring statistics from NUMA nodes in 'container_id' group MBMStats *[]MBMNumaNodeStats `json:"mbm_stats,omitempty"` diff --git a/types/events.go b/types/events.go index fc741d2d9..6822c4daf 100644 --- a/types/events.go +++ b/types/events.go @@ -143,6 +143,9 @@ type IntelRdt struct { // The memory bandwidth schema in 'container_id' group MemBwSchema string `json:"mem_bw_schema,omitempty"` + // Schemata contains the full schemata of the ClosID (resctrl group) that the container is assigned to. + Schemata []string `json:"schemata,omitempty"` + // The memory bandwidth monitoring statistics from NUMA nodes in 'container_id' group MBMStats *[]intelrdt.MBMNumaNodeStats `json:"mbm_stats,omitempty"`