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"`