xref: /freebsd/lib/libpmc/pmu-events/arch/x86/amdzen4/recommended.json (revision 5b56413d04e608379c9a306373554a8e4d321bc0)
1[
2  {
3    "MetricName": "branch_misprediction_ratio",
4    "BriefDescription": "Execution-time branch misprediction ratio (non-speculative).",
5    "MetricExpr": "d_ratio(ex_ret_brn_misp, ex_ret_brn)",
6    "MetricGroup": "branch_prediction",
7    "ScaleUnit": "100%"
8  },
9  {
10    "EventName": "all_data_cache_accesses",
11    "EventCode": "0x29",
12    "BriefDescription": "All data cache accesses.",
13    "UMask": "0x07"
14  },
15  {
16    "MetricName": "all_l2_cache_accesses",
17    "BriefDescription": "All L2 cache accesses.",
18    "MetricExpr": "l2_request_g1.all_no_prefetch + l2_pf_hit_l2.all + l2_pf_miss_l2_hit_l3.all + l2_pf_miss_l2_l3.all",
19    "MetricGroup": "l2_cache"
20  },
21  {
22    "MetricName": "l2_cache_accesses_from_l1_ic_misses",
23    "BriefDescription": "L2 cache accesses from L1 instruction cache misses (including prefetch).",
24    "MetricExpr": "l2_request_g1.cacheable_ic_read",
25    "MetricGroup": "l2_cache"
26  },
27  {
28    "MetricName": "l2_cache_accesses_from_l1_dc_misses",
29    "BriefDescription": "L2 cache accesses from L1 data cache misses (including prefetch).",
30    "MetricExpr": "l2_request_g1.all_dc",
31    "MetricGroup": "l2_cache"
32  },
33  {
34    "MetricName": "l2_cache_accesses_from_l2_hwpf",
35    "BriefDescription": "L2 cache accesses from L2 cache hardware prefetcher.",
36    "MetricExpr": "l2_pf_hit_l2.all + l2_pf_miss_l2_hit_l3.all + l2_pf_miss_l2_l3.all",
37    "MetricGroup": "l2_cache"
38  },
39  {
40    "MetricName": "all_l2_cache_misses",
41    "BriefDescription": "All L2 cache misses.",
42    "MetricExpr": "l2_cache_req_stat.ic_dc_miss_in_l2 + l2_pf_miss_l2_hit_l3.all + l2_pf_miss_l2_l3.all",
43    "MetricGroup": "l2_cache"
44  },
45  {
46    "MetricName": "l2_cache_misses_from_l1_ic_miss",
47    "BriefDescription": "L2 cache misses from L1 instruction cache misses.",
48    "MetricExpr": "l2_cache_req_stat.ic_fill_miss",
49    "MetricGroup": "l2_cache"
50  },
51  {
52    "MetricName": "l2_cache_misses_from_l1_dc_miss",
53    "BriefDescription": "L2 cache misses from L1 data cache misses.",
54    "MetricExpr": "l2_cache_req_stat.ls_rd_blk_c",
55    "MetricGroup": "l2_cache"
56  },
57  {
58    "MetricName": "l2_cache_misses_from_l2_hwpf",
59    "BriefDescription": "L2 cache misses from L2 cache hardware prefetcher.",
60    "MetricExpr": "l2_pf_miss_l2_hit_l3.all + l2_pf_miss_l2_l3.all",
61    "MetricGroup": "l2_cache"
62  },
63  {
64    "MetricName": "all_l2_cache_hits",
65    "BriefDescription": "All L2 cache hits.",
66    "MetricExpr": "l2_cache_req_stat.ic_dc_hit_in_l2 + l2_pf_hit_l2.all",
67    "MetricGroup": "l2_cache"
68  },
69  {
70    "MetricName": "l2_cache_hits_from_l1_ic_miss",
71    "BriefDescription": "L2 cache hits from L1 instruction cache misses.",
72    "MetricExpr": "l2_cache_req_stat.ic_hit_in_l2",
73    "MetricGroup": "l2_cache"
74  },
75  {
76    "MetricName": "l2_cache_hits_from_l1_dc_miss",
77    "BriefDescription": "L2 cache hits from L1 data cache misses.",
78    "MetricExpr": "l2_cache_req_stat.dc_hit_in_l2",
79    "MetricGroup": "l2_cache"
80  },
81  {
82    "MetricName": "l2_cache_hits_from_l2_hwpf",
83    "BriefDescription": "L2 cache hits from L2 cache hardware prefetcher.",
84    "MetricExpr": "l2_pf_hit_l2.all",
85    "MetricGroup": "l2_cache"
86  },
87  {
88    "MetricName": "l3_cache_accesses",
89    "BriefDescription": "L3 cache accesses.",
90    "MetricExpr": "l3_lookup_state.all_coherent_accesses_to_l3",
91    "MetricGroup": "l3_cache"
92  },
93  {
94    "MetricName": "l3_misses",
95    "BriefDescription": "L3 misses (including cacheline state change requests).",
96    "MetricExpr": "l3_lookup_state.l3_miss",
97    "MetricGroup": "l3_cache"
98  },
99  {
100    "MetricName": "l3_read_miss_latency",
101    "BriefDescription": "Average L3 read miss latency (in core clocks).",
102    "MetricExpr": "(l3_xi_sampled_latency.all * 10) / l3_xi_sampled_latency_requests.all",
103    "MetricGroup": "l3_cache",
104    "ScaleUnit": "1core clocks"
105  },
106  {
107    "MetricName": "op_cache_fetch_miss_ratio",
108    "BriefDescription": "Op cache miss ratio for all fetches.",
109    "MetricExpr": "d_ratio(op_cache_hit_miss.op_cache_miss, op_cache_hit_miss.all_op_cache_accesses)",
110    "ScaleUnit": "100%"
111  },
112  {
113    "MetricName": "ic_fetch_miss_ratio",
114    "BriefDescription": "Instruction cache miss ratio for all fetches. An instruction cache miss will not be counted by this metric if it is an OC hit.",
115    "MetricExpr": "d_ratio(ic_tag_hit_miss.instruction_cache_miss, ic_tag_hit_miss.all_instruction_cache_accesses)",
116    "ScaleUnit": "100%"
117  },
118  {
119    "MetricName": "l1_data_cache_fills_from_memory",
120    "BriefDescription": "L1 data cache fills from DRAM or MMIO in any NUMA node.",
121    "MetricExpr": "ls_any_fills_from_sys.dram_io_all",
122    "MetricGroup": "l1_dcache"
123  },
124  {
125    "MetricName": "l1_data_cache_fills_from_remote_node",
126    "BriefDescription": "L1 data cache fills from a different NUMA node.",
127    "MetricExpr": "ls_any_fills_from_sys.far_all",
128    "MetricGroup": "l1_dcache"
129  },
130  {
131    "MetricName": "l1_data_cache_fills_from_same_ccx",
132    "BriefDescription": "L1 data cache fills from within the same CCX.",
133    "MetricExpr": "ls_any_fills_from_sys.local_all",
134    "MetricGroup": "l1_dcache"
135  },
136  {
137    "MetricName": "l1_data_cache_fills_from_different_ccx",
138    "BriefDescription": "L1 data cache fills from another CCX cache in any NUMA node.",
139    "MetricExpr": "ls_any_fills_from_sys.remote_cache",
140    "MetricGroup": "l1_dcache"
141  },
142  {
143    "MetricName": "all_l1_data_cache_fills",
144    "BriefDescription": "All L1 data cache fills.",
145    "MetricExpr": "ls_any_fills_from_sys.all",
146    "MetricGroup": "l1_dcache"
147  },
148  {
149    "MetricName": "l1_demand_data_cache_fills_from_local_l2",
150    "BriefDescription": "L1 demand data cache fills from local L2 cache.",
151    "MetricExpr": "ls_dmnd_fills_from_sys.local_l2",
152    "MetricGroup": "l1_dcache"
153  },
154  {
155    "MetricName": "l1_demand_data_cache_fills_from_same_ccx",
156    "BriefDescription": "L1 demand data cache fills from within the same CCX.",
157    "MetricExpr": "ls_dmnd_fills_from_sys.local_ccx",
158    "MetricGroup": "l1_dcache"
159  },
160  {
161    "MetricName": "l1_demand_data_cache_fills_from_near_cache",
162    "BriefDescription": "L1 demand data cache fills from another CCX cache in the same NUMA node.",
163    "MetricExpr": "ls_dmnd_fills_from_sys.near_cache",
164    "MetricGroup": "l1_dcache"
165  },
166  {
167    "MetricName": "l1_demand_data_cache_fills_from_near_memory",
168    "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in the same NUMA node.",
169    "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_near",
170    "MetricGroup": "l1_dcache"
171  },
172  {
173    "MetricName": "l1_demand_data_cache_fills_from_far_cache",
174    "BriefDescription": "L1 demand data cache fills from another CCX cache in a different NUMA node.",
175    "MetricExpr": "ls_dmnd_fills_from_sys.far_cache",
176    "MetricGroup": "l1_dcache"
177  },
178  {
179    "MetricName": "l1_demand_data_cache_fills_from_far_memory",
180    "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in a different NUMA node.",
181    "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_far",
182    "MetricGroup": "l1_dcache"
183  },
184  {
185    "MetricName": "l1_itlb_misses",
186    "BriefDescription": "L1 instruction TLB misses.",
187    "MetricExpr": "bp_l1_tlb_miss_l2_tlb_hit + bp_l1_tlb_miss_l2_tlb_miss.all",
188    "MetricGroup": "tlb"
189  },
190  {
191    "MetricName": "l2_itlb_misses",
192    "BriefDescription": "L2 instruction TLB misses and instruction page walks.",
193    "MetricExpr": "bp_l1_tlb_miss_l2_tlb_miss.all",
194    "MetricGroup": "tlb"
195  },
196  {
197    "MetricName": "l1_dtlb_misses",
198    "BriefDescription": "L1 data TLB misses.",
199    "MetricExpr": "ls_l1_d_tlb_miss.all",
200    "MetricGroup": "tlb"
201  },
202  {
203    "MetricName": "l2_dtlb_misses",
204    "BriefDescription": "L2 data TLB misses and data page walks.",
205    "MetricExpr": "ls_l1_d_tlb_miss.all_l2_miss",
206    "MetricGroup": "tlb"
207  },
208  {
209    "MetricName": "all_tlbs_flushed",
210    "BriefDescription": "All TLBs flushed.",
211    "MetricExpr": "ls_tlb_flush.all",
212    "MetricGroup": "tlb"
213  },
214  {
215    "MetricName": "macro_ops_dispatched",
216    "BriefDescription": "Macro-ops dispatched.",
217    "MetricExpr": "de_src_op_disp.all",
218    "MetricGroup": "decoder"
219  },
220  {
221    "MetricName": "sse_avx_stalls",
222    "BriefDescription": "Mixed SSE/AVX stalls.",
223    "MetricExpr": "fp_disp_faults.sse_avx_all"
224  },
225  {
226    "MetricName": "macro_ops_retired",
227    "BriefDescription": "Macro-ops retired.",
228    "MetricExpr": "ex_ret_ops"
229  },
230  {
231    "MetricName": "dram_read_data_for_local_processor",
232    "BriefDescription": "DRAM read data for local processor.",
233    "MetricExpr": "local_processor_read_data_beats_cs0 + local_processor_read_data_beats_cs1 + local_processor_read_data_beats_cs2 + local_processor_read_data_beats_cs3 + local_processor_read_data_beats_cs4 + local_processor_read_data_beats_cs5 + local_processor_read_data_beats_cs6 + local_processor_read_data_beats_cs7 + local_processor_read_data_beats_cs8 + local_processor_read_data_beats_cs9 + local_processor_read_data_beats_cs10 + local_processor_read_data_beats_cs11",
234    "MetricGroup": "data_fabric",
235    "PerPkg": "1",
236    "ScaleUnit": "6.103515625e-5MiB"
237  },
238  {
239    "MetricName": "dram_write_data_for_local_processor",
240    "BriefDescription": "DRAM write data for local processor.",
241    "MetricExpr": "local_processor_write_data_beats_cs0 + local_processor_write_data_beats_cs1 + local_processor_write_data_beats_cs2 + local_processor_write_data_beats_cs3 + local_processor_write_data_beats_cs4 + local_processor_write_data_beats_cs5 + local_processor_write_data_beats_cs6 + local_processor_write_data_beats_cs7 + local_processor_write_data_beats_cs8 + local_processor_write_data_beats_cs9 + local_processor_write_data_beats_cs10 + local_processor_write_data_beats_cs11",
242    "MetricGroup": "data_fabric",
243    "PerPkg": "1",
244    "ScaleUnit": "6.103515625e-5MiB"
245  },
246  {
247    "MetricName": "dram_read_data_for_remote_processor",
248    "BriefDescription": "DRAM read data for remote processor.",
249    "MetricExpr": "remote_processor_read_data_beats_cs0 + remote_processor_read_data_beats_cs1 + remote_processor_read_data_beats_cs2 + remote_processor_read_data_beats_cs3 + remote_processor_read_data_beats_cs4 + remote_processor_read_data_beats_cs5 + remote_processor_read_data_beats_cs6 + remote_processor_read_data_beats_cs7 + remote_processor_read_data_beats_cs8 + remote_processor_read_data_beats_cs9 + remote_processor_read_data_beats_cs10 + remote_processor_read_data_beats_cs11",
250    "MetricGroup": "data_fabric",
251    "PerPkg": "1",
252    "ScaleUnit": "6.103515625e-5MiB"
253  },
254  {
255    "MetricName": "dram_write_data_for_remote_processor",
256    "BriefDescription": "DRAM write data for remote processor.",
257    "MetricExpr": "remote_processor_write_data_beats_cs0 + remote_processor_write_data_beats_cs1 + remote_processor_write_data_beats_cs2 + remote_processor_write_data_beats_cs3 + remote_processor_write_data_beats_cs4 + remote_processor_write_data_beats_cs5 + remote_processor_write_data_beats_cs6 + remote_processor_write_data_beats_cs7 + remote_processor_write_data_beats_cs8 + remote_processor_write_data_beats_cs9 + remote_processor_write_data_beats_cs10 + remote_processor_write_data_beats_cs11",
258    "MetricGroup": "data_fabric",
259    "PerPkg": "1",
260    "ScaleUnit": "6.103515625e-5MiB"
261  },
262  {
263    "MetricName": "local_socket_upstream_dma_read_data",
264    "BriefDescription": "Local socket upstream DMA read data.",
265    "MetricExpr": "local_socket_upstream_read_beats_iom0 + local_socket_upstream_read_beats_iom1 + local_socket_upstream_read_beats_iom2 + local_socket_upstream_read_beats_iom3",
266    "MetricGroup": "data_fabric",
267    "PerPkg": "1",
268    "ScaleUnit": "6.103515625e-5MiB"
269  },
270  {
271    "MetricName": "local_socket_upstream_dma_write_data",
272    "BriefDescription": "Local socket upstream DMA write data.",
273    "MetricExpr": "local_socket_upstream_write_beats_iom0 + local_socket_upstream_write_beats_iom1 + local_socket_upstream_write_beats_iom2 + local_socket_upstream_write_beats_iom3",
274    "MetricGroup": "data_fabric",
275    "PerPkg": "1",
276    "ScaleUnit": "6.103515625e-5MiB"
277  },
278  {
279    "MetricName": "remote_socket_upstream_dma_read_data",
280    "BriefDescription": "Remote socket upstream DMA read data.",
281    "MetricExpr": "remote_socket_upstream_read_beats_iom0 + remote_socket_upstream_read_beats_iom1 + remote_socket_upstream_read_beats_iom2 + remote_socket_upstream_read_beats_iom3",
282    "MetricGroup": "data_fabric",
283    "PerPkg": "1",
284    "ScaleUnit": "6.103515625e-5MiB"
285  },
286  {
287    "MetricName": "remote_socket_upstream_dma_write_data",
288    "BriefDescription": "Remote socket upstream DMA write data.",
289    "MetricExpr": "remote_socket_upstream_write_beats_iom0 + remote_socket_upstream_write_beats_iom1 + remote_socket_upstream_write_beats_iom2 + remote_socket_upstream_write_beats_iom3",
290    "MetricGroup": "data_fabric",
291    "PerPkg": "1",
292    "ScaleUnit": "6.103515625e-5MiB"
293  },
294  {
295    "MetricName": "local_socket_inbound_data_to_cpu",
296    "BriefDescription": "Local socket inbound data to the CPU (e.g. read data).",
297    "MetricExpr": "local_socket_inf0_inbound_data_beats_ccm0 + local_socket_inf1_inbound_data_beats_ccm0 + local_socket_inf0_inbound_data_beats_ccm1 + local_socket_inf1_inbound_data_beats_ccm1 + local_socket_inf0_inbound_data_beats_ccm2 + local_socket_inf1_inbound_data_beats_ccm2 + local_socket_inf0_inbound_data_beats_ccm3 + local_socket_inf1_inbound_data_beats_ccm3 + local_socket_inf0_inbound_data_beats_ccm4 + local_socket_inf1_inbound_data_beats_ccm4 + local_socket_inf0_inbound_data_beats_ccm5 + local_socket_inf1_inbound_data_beats_ccm5 + local_socket_inf0_inbound_data_beats_ccm6 + local_socket_inf1_inbound_data_beats_ccm6 + local_socket_inf0_inbound_data_beats_ccm7 + local_socket_inf1_inbound_data_beats_ccm7",
298    "MetricGroup": "data_fabric",
299    "PerPkg": "1",
300    "ScaleUnit": "3.0517578125e-5MiB"
301  },
302  {
303    "MetricName": "local_socket_outbound_data_from_cpu",
304    "BriefDescription": "Local socket outbound data from the CPU (e.g. write data).",
305    "MetricExpr": "local_socket_inf0_outbound_data_beats_ccm0 + local_socket_inf1_outbound_data_beats_ccm0 + local_socket_inf0_outbound_data_beats_ccm1 + local_socket_inf1_outbound_data_beats_ccm1 + local_socket_inf0_outbound_data_beats_ccm2 + local_socket_inf1_outbound_data_beats_ccm2 + local_socket_inf0_outbound_data_beats_ccm3 + local_socket_inf1_outbound_data_beats_ccm3 + local_socket_inf0_outbound_data_beats_ccm4 + local_socket_inf1_outbound_data_beats_ccm4 + local_socket_inf0_outbound_data_beats_ccm5 + local_socket_inf1_outbound_data_beats_ccm5 + local_socket_inf0_outbound_data_beats_ccm6 + local_socket_inf1_outbound_data_beats_ccm6 + local_socket_inf0_outbound_data_beats_ccm7 + local_socket_inf1_outbound_data_beats_ccm7",
306    "MetricGroup": "data_fabric",
307    "PerPkg": "1",
308    "ScaleUnit": "6.103515625e-5MiB"
309  },
310  {
311    "MetricName": "remote_socket_inbound_data_to_cpu",
312    "BriefDescription": "Remote socket inbound data to the CPU (e.g. read data).",
313    "MetricExpr": "remote_socket_inf0_inbound_data_beats_ccm0 + remote_socket_inf1_inbound_data_beats_ccm0 + remote_socket_inf0_inbound_data_beats_ccm1 + remote_socket_inf1_inbound_data_beats_ccm1 + remote_socket_inf0_inbound_data_beats_ccm2 + remote_socket_inf1_inbound_data_beats_ccm2 + remote_socket_inf0_inbound_data_beats_ccm3 + remote_socket_inf1_inbound_data_beats_ccm3 + remote_socket_inf0_inbound_data_beats_ccm4 + remote_socket_inf1_inbound_data_beats_ccm4 + remote_socket_inf0_inbound_data_beats_ccm5 + remote_socket_inf1_inbound_data_beats_ccm5 + remote_socket_inf0_inbound_data_beats_ccm6 + remote_socket_inf1_inbound_data_beats_ccm6 + remote_socket_inf0_inbound_data_beats_ccm7 + remote_socket_inf1_inbound_data_beats_ccm7",
314    "MetricGroup": "data_fabric",
315    "PerPkg": "1",
316    "ScaleUnit": "3.0517578125e-5MiB"
317  },
318  {
319    "MetricName": "remote_socket_outbound_data_from_cpu",
320    "BriefDescription": "Remote socket outbound data from the CPU (e.g. write data).",
321    "MetricExpr": "remote_socket_inf0_outbound_data_beats_ccm0 + remote_socket_inf1_outbound_data_beats_ccm0 + remote_socket_inf0_outbound_data_beats_ccm1 + remote_socket_inf1_outbound_data_beats_ccm1 + remote_socket_inf0_outbound_data_beats_ccm2 + remote_socket_inf1_outbound_data_beats_ccm2 + remote_socket_inf0_outbound_data_beats_ccm3 + remote_socket_inf1_outbound_data_beats_ccm3 + remote_socket_inf0_outbound_data_beats_ccm4 + remote_socket_inf1_outbound_data_beats_ccm4 + remote_socket_inf0_outbound_data_beats_ccm5 + remote_socket_inf1_outbound_data_beats_ccm5 + remote_socket_inf0_outbound_data_beats_ccm6 + remote_socket_inf1_outbound_data_beats_ccm6 + remote_socket_inf0_outbound_data_beats_ccm7 + remote_socket_inf1_outbound_data_beats_ccm7",
322    "MetricGroup": "data_fabric",
323    "PerPkg": "1",
324    "ScaleUnit": "6.103515625e-5MiB"
325  },
326  {
327    "MetricName": "local_socket_outbound_data_from_all_links",
328    "BriefDescription": "Outbound data from all links (local socket).",
329    "MetricExpr": "local_socket_outbound_data_beats_link0 + local_socket_outbound_data_beats_link1 + local_socket_outbound_data_beats_link2 + local_socket_outbound_data_beats_link3 + local_socket_outbound_data_beats_link4 + local_socket_outbound_data_beats_link5 + local_socket_outbound_data_beats_link6 + local_socket_outbound_data_beats_link7",
330    "MetricGroup": "data_fabric",
331    "PerPkg": "1",
332    "ScaleUnit": "6.103515625e-5MiB"
333  },
334  {
335    "MetricName": "umc_data_bus_utilization",
336    "BriefDescription": "Memory controller data bus utilization.",
337    "MetricExpr": "d_ratio(umc_data_slot_clks.all / 2, umc_mem_clk)",
338    "MetricGroup": "memory_controller",
339    "PerPkg": "1",
340    "ScaleUnit": "100%"
341  },
342  {
343    "MetricName": "umc_cas_cmd_rate",
344    "BriefDescription": "Memory controller CAS command rate.",
345    "MetricExpr": "d_ratio(umc_cas_cmd.all * 1000, umc_mem_clk)",
346    "MetricGroup": "memory_controller",
347    "PerPkg": "1"
348  },
349  {
350    "MetricName": "umc_cas_cmd_read_ratio",
351    "BriefDescription": "Ratio of memory controller CAS commands for reads.",
352    "MetricExpr": "d_ratio(umc_cas_cmd.rd, umc_cas_cmd.all)",
353    "MetricGroup": "memory_controller",
354    "PerPkg": "1",
355    "ScaleUnit": "100%"
356  },
357  {
358    "MetricName": "umc_cas_cmd_write_ratio",
359    "BriefDescription": "Ratio of memory controller CAS commands for writes.",
360    "MetricExpr": "d_ratio(umc_cas_cmd.wr, umc_cas_cmd.all)",
361    "MetricGroup": "memory_controller",
362    "PerPkg": "1",
363    "ScaleUnit": "100%"
364  },
365  {
366    "MetricName": "umc_mem_read_bandwidth",
367    "BriefDescription": "Estimated memory read bandwidth.",
368    "MetricExpr": "(umc_cas_cmd.rd * 64) / 1e6 / duration_time",
369    "MetricGroup": "memory_controller",
370    "PerPkg": "1",
371    "ScaleUnit": "1MB/s"
372  },
373  {
374    "MetricName": "umc_mem_write_bandwidth",
375    "BriefDescription": "Estimated memory write bandwidth.",
376    "MetricExpr": "(umc_cas_cmd.wr * 64) / 1e6 / duration_time",
377    "MetricGroup": "memory_controller",
378    "PerPkg": "1",
379    "ScaleUnit": "1MB/s"
380  },
381  {
382    "MetricName": "umc_mem_bandwidth",
383    "BriefDescription": "Estimated combined memory bandwidth.",
384    "MetricExpr": "(umc_cas_cmd.all * 64) / 1e6 / duration_time",
385    "MetricGroup": "memory_controller",
386    "PerPkg": "1",
387    "ScaleUnit": "1MB/s"
388  },
389  {
390    "MetricName": "umc_cas_cmd_read_ratio",
391    "BriefDescription": "Ratio of memory controller CAS commands for reads.",
392    "MetricExpr": "d_ratio(umc_cas_cmd.rd, umc_cas_cmd.all)",
393    "MetricGroup": "memory_controller",
394    "PerPkg": "1",
395    "ScaleUnit": "100%"
396  },
397  {
398    "MetricName": "umc_cas_cmd_rate",
399    "BriefDescription": "Memory controller CAS command rate.",
400    "MetricExpr": "d_ratio(umc_cas_cmd.all * 1000, umc_mem_clk)",
401    "MetricGroup": "memory_controller",
402    "PerPkg": "1"
403  },
404  {
405    "MetricName": "umc_activate_cmd_rate",
406    "BriefDescription": "Memory controller ACTIVATE command rate.",
407    "MetricExpr": "d_ratio(umc_act_cmd.all * 1000, umc_mem_clk)",
408    "MetricGroup": "memory_controller",
409    "PerPkg": "1"
410  },
411  {
412    "MetricName": "umc_precharge_cmd_rate",
413    "BriefDescription": "Memory controller PRECHARGE command rate.",
414    "MetricExpr": "d_ratio(umc_pchg_cmd.all * 1000, umc_mem_clk)",
415    "MetricGroup": "memory_controller",
416    "PerPkg": "1"
417  }
418]
419