github.com/opencontainers/runc@v1.2.0-rc.1.0.20240520010911-492dc558cdd6/libcontainer/intelrdt/stats.go (about) 1 package intelrdt 2 3 type L3CacheInfo struct { 4 CbmMask string `json:"cbm_mask,omitempty"` 5 MinCbmBits uint64 `json:"min_cbm_bits,omitempty"` 6 NumClosids uint64 `json:"num_closids,omitempty"` 7 } 8 9 type MemBwInfo struct { 10 BandwidthGran uint64 `json:"bandwidth_gran,omitempty"` 11 DelayLinear uint64 `json:"delay_linear,omitempty"` 12 MinBandwidth uint64 `json:"min_bandwidth,omitempty"` 13 NumClosids uint64 `json:"num_closids,omitempty"` 14 } 15 16 type MBMNumaNodeStats struct { 17 // The 'mbm_total_bytes' in 'container_id' group. 18 MBMTotalBytes uint64 `json:"mbm_total_bytes"` 19 20 // The 'mbm_local_bytes' in 'container_id' group. 21 MBMLocalBytes uint64 `json:"mbm_local_bytes"` 22 } 23 24 type CMTNumaNodeStats struct { 25 // The 'llc_occupancy' in 'container_id' group. 26 LLCOccupancy uint64 `json:"llc_occupancy"` 27 } 28 29 type Stats struct { 30 // The read-only L3 cache information 31 L3CacheInfo *L3CacheInfo `json:"l3_cache_info,omitempty"` 32 33 // The read-only L3 cache schema in root 34 L3CacheSchemaRoot string `json:"l3_cache_schema_root,omitempty"` 35 36 // The L3 cache schema in 'container_id' group 37 L3CacheSchema string `json:"l3_cache_schema,omitempty"` 38 39 // The read-only memory bandwidth information 40 MemBwInfo *MemBwInfo `json:"mem_bw_info,omitempty"` 41 42 // The read-only memory bandwidth schema in root 43 MemBwSchemaRoot string `json:"mem_bw_schema_root,omitempty"` 44 45 // The memory bandwidth schema in 'container_id' group 46 MemBwSchema string `json:"mem_bw_schema,omitempty"` 47 48 // The memory bandwidth monitoring statistics from NUMA nodes in 'container_id' group 49 MBMStats *[]MBMNumaNodeStats `json:"mbm_stats,omitempty"` 50 51 // The cache monitoring technology statistics from NUMA nodes in 'container_id' group 52 CMTStats *[]CMTNumaNodeStats `json:"cmt_stats,omitempty"` 53 } 54 55 func newStats() *Stats { 56 return &Stats{} 57 }