1[ 2 { 3 "MetricName": "branch_misprediction_rate", 4 "BriefDescription": "Execution-time branch misprediction rate (non-speculative).", 5 "MetricExpr": "d_ratio(ex_ret_brn_misp, ex_ret_brn)", 6 "MetricGroup": "branch_prediction", 7 "ScaleUnit": "1per_branch" 8 }, 9 { 10 "MetricName": "all_data_cache_accesses_pti", 11 "BriefDescription": "All data cache accesses per thousand instructions.", 12 "MetricExpr": "ls_dispatch.all / instructions", 13 "MetricGroup": "l1_dcache", 14 "ScaleUnit": "1e3per_1k_instr" 15 }, 16 { 17 "MetricName": "all_l2_cache_accesses_pti", 18 "BriefDescription": "All L2 cache accesses per thousand instructions.", 19 "MetricExpr": "(l2_request_g1.no_pf_all + l2_pf_hit_l2.l2_hwpf + l2_pf_miss_l2_hit_l3.l2_hwpf + l2_pf_miss_l2_l3.l2_hwpf) / instructions", 20 "MetricGroup": "l2_cache", 21 "ScaleUnit": "1e3per_1k_instr" 22 }, 23 { 24 "MetricName": "l2_cache_accesses_from_l1_ic_misses_pti", 25 "BriefDescription": "L2 cache accesses from L1 instruction cache misses (including prefetch) per thousand instructions.", 26 "MetricExpr": "l2_request_g1.cacheable_ic_read / instructions", 27 "MetricGroup": "l2_cache", 28 "ScaleUnit": "1e3per_1k_instr" 29 }, 30 { 31 "MetricName": "l2_cache_accesses_from_l1_dc_misses_pti", 32 "BriefDescription": "L2 cache accesses from L1 data cache misses (including prefetch) per thousand instructions.", 33 "MetricExpr": "l2_request_g1.dc_all / instructions", 34 "MetricGroup": "l2_cache", 35 "ScaleUnit": "1e3per_1k_instr" 36 }, 37 { 38 "MetricName": "l2_cache_accesses_from_l2_hwpf_pti", 39 "BriefDescription": "L2 cache accesses from L2 cache hardware prefetcher per thousand instructions.", 40 "MetricExpr": "(l2_pf_hit_l2.l1_dc_l2_hwpf + l2_pf_miss_l2_hit_l3.l1_dc_l2_hwpf + l2_pf_miss_l2_l3.l1_dc_l2_hwpf) / instructions", 41 "MetricGroup": "l2_cache", 42 "ScaleUnit": "1e3per_1k_instr" 43 }, 44 { 45 "MetricName": "all_l2_cache_misses_pti", 46 "BriefDescription": "All L2 cache misses per thousand instructions.", 47 "MetricExpr": "(l2_cache_req_stat.ic_dc_miss_in_l2 + l2_pf_miss_l2_hit_l3.l2_hwpf + l2_pf_miss_l2_l3.l2_hwpf) / instructions", 48 "MetricGroup": "l2_cache", 49 "ScaleUnit": "1e3per_1k_instr" 50 }, 51 { 52 "MetricName": "l2_cache_misses_from_l1_ic_miss_pti", 53 "BriefDescription": "L2 cache misses from L1 instruction cache misses per thousand instructions.", 54 "MetricExpr": "l2_cache_req_stat.ic_fill_miss / instructions", 55 "MetricGroup": "l2_cache", 56 "ScaleUnit": "1e3per_1k_instr" 57 }, 58 { 59 "MetricName": "l2_cache_misses_from_l1_dc_miss_pti", 60 "BriefDescription": "L2 cache misses from L1 data cache misses per thousand instructions.", 61 "MetricExpr": "l2_cache_req_stat.ls_rd_blk_c / instructions", 62 "MetricGroup": "l2_cache", 63 "ScaleUnit": "1e3per_1k_instr" 64 }, 65 { 66 "MetricName": "l2_cache_misses_from_l2_hwpf_pti", 67 "BriefDescription": "L2 cache misses from L2 cache hardware prefetcher per thousand instructions.", 68 "MetricExpr": "(l2_pf_miss_l2_hit_l3.l1_dc_l2_hwpf + l2_pf_miss_l2_l3.l1_dc_l2_hwpf) / instructions", 69 "MetricGroup": "l2_cache", 70 "ScaleUnit": "1e3per_1k_instr" 71 }, 72 { 73 "MetricName": "all_l2_cache_hits_pti", 74 "BriefDescription": "All L2 cache hits per thousand instructions.", 75 "MetricExpr": "(l2_cache_req_stat.ic_dc_hit_in_l2 + l2_pf_hit_l2.l2_hwpf) / instructions", 76 "MetricGroup": "l2_cache", 77 "ScaleUnit": "1e3per_1k_instr" 78 }, 79 { 80 "MetricName": "l2_cache_hits_from_l1_ic_miss_pti", 81 "BriefDescription": "L2 cache hits from L1 instruction cache misses per thousand instructions.", 82 "MetricExpr": "l2_cache_req_stat.ic_hit_in_l2 / instructions", 83 "MetricGroup": "l2_cache", 84 "ScaleUnit": "1e3per_1k_instr" 85 }, 86 { 87 "MetricName": "l2_cache_hits_from_l1_dc_miss_pti", 88 "BriefDescription": "L2 cache hits from L1 data cache misses per thousand instructions.", 89 "MetricExpr": "l2_cache_req_stat.dc_hit_in_l2 / instructions", 90 "MetricGroup": "l2_cache", 91 "ScaleUnit": "1e3per_1k_instr" 92 }, 93 { 94 "MetricName": "l2_cache_hits_from_l2_hwpf_pti", 95 "BriefDescription": "L2 cache hits from L2 cache hardware prefetcher per thousand instructions.", 96 "MetricExpr": "l2_pf_hit_l2.l1_dc_l2_hwpf / instructions", 97 "MetricGroup": "l2_cache", 98 "ScaleUnit": "1e3per_1k_instr" 99 }, 100 { 101 "MetricName": "l3_cache_accesses", 102 "BriefDescription": "L3 cache accesses.", 103 "MetricExpr": "l3_lookup_state.all_coherent_accesses_to_l3", 104 "MetricGroup": "l3_cache" 105 }, 106 { 107 "MetricName": "l3_misses", 108 "BriefDescription": "L3 misses (including cacheline state change requests).", 109 "MetricExpr": "l3_lookup_state.l3_miss", 110 "MetricGroup": "l3_cache" 111 }, 112 { 113 "MetricName": "l3_read_miss_latency", 114 "BriefDescription": "Average L3 read miss latency (in core clocks).", 115 "MetricExpr": "(l3_xi_sampled_latency.all * 10) / l3_xi_sampled_latency_requests.all", 116 "MetricGroup": "l3_cache", 117 "ScaleUnit": "1ns" 118 }, 119 { 120 "MetricName": "l3_read_miss_latency_for_local_dram", 121 "BriefDescription": "Average L3 read miss latency (in core clocks) for local DRAM.", 122 "MetricExpr": "(l3_xi_sampled_latency.dram_near * 10) / l3_xi_sampled_latency_requests.dram_near", 123 "MetricGroup": "l3_cache", 124 "ScaleUnit": "1ns" 125 }, 126 { 127 "MetricName": "l3_read_miss_latency_for_remote_dram", 128 "BriefDescription": "Average L3 read miss latency (in core clocks) for remote DRAM.", 129 "MetricExpr": "(l3_xi_sampled_latency.dram_far * 10) / l3_xi_sampled_latency_requests.dram_far", 130 "MetricGroup": "l3_cache", 131 "ScaleUnit": "1ns" 132 }, 133 { 134 "MetricName": "op_cache_fetch_miss_ratio", 135 "BriefDescription": "Op cache miss ratio for all fetches.", 136 "MetricExpr": "d_ratio(op_cache_hit_miss.miss, op_cache_hit_miss.all)", 137 "ScaleUnit": "100%" 138 }, 139 { 140 "MetricName": "l1_data_cache_fills_from_memory_pti", 141 "BriefDescription": "L1 data cache fills from DRAM or MMIO in any NUMA node per thousand instructions.", 142 "MetricExpr": "ls_any_fills_from_sys.dram_io_all / instructions", 143 "MetricGroup": "l1_dcache", 144 "ScaleUnit": "1e3per_1k_instr" 145 }, 146 { 147 "MetricName": "l1_data_cache_fills_from_remote_node_pti", 148 "BriefDescription": "L1 data cache fills from a different NUMA node per thousand instructions.", 149 "MetricExpr": "ls_any_fills_from_sys.far_all / instructions", 150 "MetricGroup": "l1_dcache", 151 "ScaleUnit": "1e3per_1k_instr" 152 }, 153 { 154 "MetricName": "l1_data_cache_fills_from_same_ccx_pti", 155 "BriefDescription": "L1 data cache fills from within the same CCX per thousand instructions.", 156 "MetricExpr": "ls_any_fills_from_sys.local_all / instructions", 157 "MetricGroup": "l1_dcache", 158 "ScaleUnit": "1e3per_1k_instr" 159 }, 160 { 161 "MetricName": "l1_data_cache_fills_from_different_ccx_pti", 162 "BriefDescription": "L1 data cache fills from another CCX cache in any NUMA node per thousand instructions.", 163 "MetricExpr": "ls_any_fills_from_sys.remote_cache / instructions", 164 "MetricGroup": "l1_dcache", 165 "ScaleUnit": "1e3per_1k_instr" 166 }, 167 { 168 "MetricName": "all_l1_data_cache_fills_pti", 169 "BriefDescription": "All L1 data cache fills per thousand instructions.", 170 "MetricExpr": "ls_any_fills_from_sys.all / instructions", 171 "MetricGroup": "l1_dcache", 172 "ScaleUnit": "1e3per_1k_instr" 173 }, 174 { 175 "MetricName": "l1_demand_data_cache_fills_from_local_l2_pti", 176 "BriefDescription": "L1 demand data cache fills from local L2 cache per thousand instructions.", 177 "MetricExpr": "ls_dmnd_fills_from_sys.local_l2 / instructions", 178 "MetricGroup": "l1_dcache", 179 "ScaleUnit": "1e3per_1k_instr" 180 }, 181 { 182 "MetricName": "l1_demand_data_cache_fills_from_same_ccx_pti", 183 "BriefDescription": "L1 demand data cache fills from within the same CCX per thousand instructions.", 184 "MetricExpr": "ls_dmnd_fills_from_sys.local_ccx / instructions", 185 "MetricGroup": "l1_dcache", 186 "ScaleUnit": "1e3per_1k_instr" 187 }, 188 { 189 "MetricName": "l1_demand_data_cache_fills_from_near_cache_pti", 190 "BriefDescription": "L1 demand data cache fills from another CCX cache in the same NUMA node per thousand instructions.", 191 "MetricExpr": "ls_dmnd_fills_from_sys.near_cache / instructions", 192 "MetricGroup": "l1_dcache", 193 "ScaleUnit": "1e3per_1k_instr" 194 }, 195 { 196 "MetricName": "l1_demand_data_cache_fills_from_near_memory_pti", 197 "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in the same NUMA node per thousand instructions.", 198 "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_near / instructions", 199 "MetricGroup": "l1_dcache", 200 "ScaleUnit": "1e3per_1k_instr" 201 }, 202 { 203 "MetricName": "l1_demand_data_cache_fills_from_far_cache_pti", 204 "BriefDescription": "L1 demand data cache fills from another CCX cache in a different NUMA node per thousand instructions.", 205 "MetricExpr": "ls_dmnd_fills_from_sys.far_cache / instructions", 206 "MetricGroup": "l1_dcache", 207 "ScaleUnit": "1e3per_1k_instr" 208 }, 209 { 210 "MetricName": "l1_demand_data_cache_fills_from_far_memory_pti", 211 "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in a different NUMA node per thousand instructions.", 212 "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_far / instructions", 213 "MetricGroup": "l1_dcache", 214 "ScaleUnit": "1e3per_1k_instr" 215 }, 216 { 217 "MetricName": "l1_itlb_misses_pti", 218 "BriefDescription": "L1 instruction TLB misses per thousand instructions.", 219 "MetricExpr": "(bp_l1_tlb_miss_l2_tlb_hit + bp_l1_tlb_miss_l2_tlb_miss.all) / instructions", 220 "MetricGroup": "tlb", 221 "ScaleUnit": "1e3per_1k_instr" 222 }, 223 { 224 "MetricName": "l2_itlb_misses_pti", 225 "BriefDescription": "L2 instruction TLB misses and instruction page walks per thousand instructions.", 226 "MetricExpr": "bp_l1_tlb_miss_l2_tlb_miss.all / instructions", 227 "MetricGroup": "tlb", 228 "ScaleUnit": "1e3per_1k_instr" 229 }, 230 { 231 "MetricName": "l1_dtlb_misses_pti", 232 "BriefDescription": "L1 data TLB misses per thousand instructions.", 233 "MetricExpr": "ls_l1_d_tlb_miss.all / instructions", 234 "MetricGroup": "tlb", 235 "ScaleUnit": "1e3per_1k_instr" 236 }, 237 { 238 "MetricName": "l2_dtlb_misses_pti", 239 "BriefDescription": "L2 data TLB misses and data page walks per thousand instructions.", 240 "MetricExpr": "ls_l1_d_tlb_miss.l2_miss_all / instructions", 241 "MetricGroup": "tlb", 242 "ScaleUnit": "1e3per_1k_instr" 243 }, 244 { 245 "MetricName": "all_tlbs_flushed_pti", 246 "BriefDescription": "All TLBs flushed per thousand instructions.", 247 "MetricExpr": "ls_tlb_flush.all / instructions", 248 "MetricGroup": "tlb", 249 "ScaleUnit": "1e3per_1k_instr" 250 }, 251 { 252 "MetricName": "macro_ops_dispatched", 253 "BriefDescription": "Macro-ops dispatched.", 254 "MetricExpr": "de_src_op_disp.all", 255 "MetricGroup": "decoder" 256 }, 257 { 258 "MetricName": "sse_avx_stalls", 259 "BriefDescription": "Mixed SSE/AVX stalls.", 260 "MetricExpr": "fp_disp_faults.sse_avx_all" 261 }, 262 { 263 "MetricName": "macro_ops_retired", 264 "BriefDescription": "Macro-ops retired.", 265 "MetricExpr": "ex_ret_ops" 266 }, 267 { 268 "MetricName": "umc_data_bus_utilization", 269 "BriefDescription": "Memory controller data bus utilization.", 270 "MetricExpr": "d_ratio(umc_data_slot_clks.all / 2, umc_mem_clk)", 271 "MetricGroup": "memory_controller", 272 "PerPkg": "1", 273 "ScaleUnit": "100%" 274 }, 275 { 276 "MetricName": "umc_cas_cmd_rate", 277 "BriefDescription": "Memory controller CAS command rate.", 278 "MetricExpr": "d_ratio(umc_cas_cmd.all * 1000, umc_mem_clk)", 279 "MetricGroup": "memory_controller", 280 "PerPkg": "1", 281 "ScaleUnit": "1per_memclk" 282 }, 283 { 284 "MetricName": "umc_cas_cmd_read_ratio", 285 "BriefDescription": "Ratio of memory controller CAS commands for reads.", 286 "MetricExpr": "d_ratio(umc_cas_cmd.rd, umc_cas_cmd.all)", 287 "MetricGroup": "memory_controller", 288 "PerPkg": "1", 289 "ScaleUnit": "100%" 290 }, 291 { 292 "MetricName": "umc_cas_cmd_write_ratio", 293 "BriefDescription": "Ratio of memory controller CAS commands for writes.", 294 "MetricExpr": "d_ratio(umc_cas_cmd.wr, umc_cas_cmd.all)", 295 "MetricGroup": "memory_controller", 296 "PerPkg": "1", 297 "ScaleUnit": "100%" 298 }, 299 { 300 "MetricName": "umc_mem_read_bandwidth", 301 "BriefDescription": "Estimated memory read bandwidth.", 302 "MetricExpr": "(umc_cas_cmd.rd * 64) / 1e6 / duration_time", 303 "MetricGroup": "memory_controller", 304 "PerPkg": "1", 305 "ScaleUnit": "1MB/s" 306 }, 307 { 308 "MetricName": "umc_mem_write_bandwidth", 309 "BriefDescription": "Estimated memory write bandwidth.", 310 "MetricExpr": "(umc_cas_cmd.wr * 64) / 1e6 / duration_time", 311 "MetricGroup": "memory_controller", 312 "PerPkg": "1", 313 "ScaleUnit": "1MB/s" 314 }, 315 { 316 "MetricName": "umc_mem_bandwidth", 317 "BriefDescription": "Estimated combined memory bandwidth.", 318 "MetricExpr": "(umc_cas_cmd.all * 64) / 1e6 / duration_time", 319 "MetricGroup": "memory_controller", 320 "PerPkg": "1", 321 "ScaleUnit": "1MB/s" 322 }, 323 { 324 "MetricName": "umc_activate_cmd_rate", 325 "BriefDescription": "Memory controller ACTIVATE command rate.", 326 "MetricExpr": "d_ratio(umc_act_cmd.all * 1000, umc_mem_clk)", 327 "MetricGroup": "memory_controller", 328 "PerPkg": "1", 329 "ScaleUnit": "1per_memclk" 330 }, 331 { 332 "MetricName": "umc_precharge_cmd_rate", 333 "BriefDescription": "Memory controller PRECHARGE command rate.", 334 "MetricExpr": "d_ratio(umc_pchg_cmd.all * 1000, umc_mem_clk)", 335 "MetricGroup": "memory_controller", 336 "PerPkg": "1", 337 "ScaleUnit": "1per_memclk" 338 } 339] 340