1[
2    {
3        "MetricExpr": "FETCH_BUBBLE / (4 * CPU_CYCLES)",
4        "PublicDescription": "Frontend bound L1 topdown metric",
5        "BriefDescription": "Frontend bound L1 topdown metric",
6        "DefaultMetricgroupName": "TopDownL1",
7        "MetricGroup": "Default;TopDownL1",
8        "MetricName": "frontend_bound"
9    },
10    {
11        "MetricExpr": "(INST_SPEC - INST_RETIRED) / (4 * CPU_CYCLES)",
12        "PublicDescription": "Bad Speculation L1 topdown metric",
13        "BriefDescription": "Bad Speculation L1 topdown metric",
14        "DefaultMetricgroupName": "TopDownL1",
15        "MetricGroup": "Default;TopDownL1",
16        "MetricName": "bad_speculation"
17    },
18    {
19        "MetricExpr": "INST_RETIRED / (CPU_CYCLES * 4)",
20        "PublicDescription": "Retiring L1 topdown metric",
21        "BriefDescription": "Retiring L1 topdown metric",
22        "DefaultMetricgroupName": "TopDownL1",
23        "MetricGroup": "Default;TopDownL1",
24        "MetricName": "retiring"
25    },
26    {
27        "MetricExpr": "1 - (frontend_bound + bad_speculation + retiring)",
28        "PublicDescription": "Backend Bound L1 topdown metric",
29        "BriefDescription": "Backend Bound L1 topdown metric",
30        "DefaultMetricgroupName": "TopDownL1",
31        "MetricGroup": "Default;TopDownL1",
32        "MetricName": "backend_bound"
33    },
34    {
35        "MetricExpr": "armv8_pmuv3_0@event\\=0x201d@ / CPU_CYCLES",
36        "PublicDescription": "Fetch latency bound L2 topdown metric",
37        "BriefDescription": "Fetch latency bound L2 topdown metric",
38        "MetricGroup": "TopDownL2",
39        "MetricName": "fetch_latency_bound"
40    },
41    {
42        "MetricExpr": "frontend_bound - fetch_latency_bound",
43        "PublicDescription": "Fetch bandwidth bound L2 topdown metric",
44        "BriefDescription": "Fetch bandwidth bound L2 topdown metric",
45        "MetricGroup": "TopDownL2",
46        "MetricName": "fetch_bandwidth_bound"
47    },
48    {
49        "MetricExpr": "(bad_speculation * BR_MIS_PRED) / (BR_MIS_PRED + armv8_pmuv3_0@event\\=0x2013@)",
50        "PublicDescription": "Branch mispredicts L2 topdown metric",
51        "BriefDescription": "Branch mispredicts L2 topdown metric",
52        "MetricGroup": "TopDownL2",
53        "MetricName": "branch_mispredicts"
54    },
55    {
56        "MetricExpr": "bad_speculation - branch_mispredicts",
57        "PublicDescription": "Machine clears L2 topdown metric",
58        "BriefDescription": "Machine clears L2 topdown metric",
59        "MetricGroup": "TopDownL2",
60        "MetricName": "machine_clears"
61    },
62    {
63        "MetricExpr": "(EXE_STALL_CYCLE - (MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@)) / CPU_CYCLES",
64        "PublicDescription": "Core bound L2 topdown metric",
65        "BriefDescription": "Core bound L2 topdown metric",
66        "MetricGroup": "TopDownL2",
67        "MetricName": "core_bound"
68    },
69    {
70        "MetricExpr": "(MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@) / CPU_CYCLES",
71        "PublicDescription": "Memory bound L2 topdown metric",
72        "BriefDescription": "Memory bound L2 topdown metric",
73        "MetricGroup": "TopDownL2",
74        "MetricName": "memory_bound"
75    },
76    {
77        "MetricExpr": "(((L2I_TLB - L2I_TLB_REFILL) * 15) + (L2I_TLB_REFILL * 100)) / CPU_CYCLES",
78        "PublicDescription": "Idle by itlb miss L3 topdown metric",
79        "BriefDescription": "Idle by itlb miss L3 topdown metric",
80        "MetricGroup": "TopDownL3",
81        "MetricName": "idle_by_itlb_miss"
82    },
83    {
84        "MetricExpr": "(((L2I_CACHE - L2I_CACHE_REFILL) * 15) + (L2I_CACHE_REFILL * 100)) / CPU_CYCLES",
85        "PublicDescription": "Idle by icache miss L3 topdown metric",
86        "BriefDescription": "Idle by icache miss L3 topdown metric",
87        "MetricGroup": "TopDownL3",
88        "MetricName": "idle_by_icache_miss"
89    },
90    {
91        "MetricExpr": "(BR_MIS_PRED * 5) / CPU_CYCLES",
92        "PublicDescription": "BP misp flush L3 topdown metric",
93        "BriefDescription": "BP misp flush L3 topdown metric",
94        "MetricGroup": "TopDownL3",
95        "MetricName": "bp_misp_flush"
96    },
97    {
98        "MetricExpr": "(armv8_pmuv3_0@event\\=0x2013@ * 5) / CPU_CYCLES",
99        "PublicDescription": "OOO flush L3 topdown metric",
100        "BriefDescription": "OOO flush L3 topdown metric",
101        "MetricGroup": "TopDownL3",
102        "MetricName": "ooo_flush"
103    },
104    {
105        "MetricExpr": "(armv8_pmuv3_0@event\\=0x1001@ * 5) / CPU_CYCLES",
106        "PublicDescription": "Static predictor flush L3 topdown metric",
107        "BriefDescription": "Static predictor flush L3 topdown metric",
108        "MetricGroup": "TopDownL3",
109        "MetricName": "sp_flush"
110    },
111    {
112        "MetricExpr": "armv8_pmuv3_0@event\\=0x1010@ / BR_MIS_PRED",
113        "PublicDescription": "Indirect branch L3 topdown metric",
114        "BriefDescription": "Indirect branch L3 topdown metric",
115        "MetricGroup": "TopDownL3",
116        "MetricName": "indirect_branch"
117    },
118    {
119        "MetricExpr": "(armv8_pmuv3_0@event\\=0x1013@ + armv8_pmuv3_0@event\\=0x1016@) / BR_MIS_PRED",
120        "PublicDescription": "Push branch L3 topdown metric",
121        "BriefDescription": "Push branch L3 topdown metric",
122        "MetricGroup": "TopDownL3",
123        "MetricName": "push_branch"
124    },
125    {
126        "MetricExpr": "armv8_pmuv3_0@event\\=0x100d@ / BR_MIS_PRED",
127        "PublicDescription": "Pop branch L3 topdown metric",
128        "BriefDescription": "Pop branch L3 topdown metric",
129        "MetricGroup": "TopDownL3",
130        "MetricName": "pop_branch"
131    },
132    {
133        "MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1013@ - armv8_pmuv3_0@event\\=0x1016@ - armv8_pmuv3_0@event\\=0x100d@) / BR_MIS_PRED",
134        "PublicDescription": "Other branch L3 topdown metric",
135        "BriefDescription": "Other branch L3 topdown metric",
136        "MetricGroup": "TopDownL3",
137        "MetricName": "other_branch"
138    },
139    {
140        "MetricExpr": "armv8_pmuv3_0@event\\=0x2012@ / armv8_pmuv3_0@event\\=0x2013@",
141        "PublicDescription": "Nuke flush L3 topdown metric",
142        "BriefDescription": "Nuke flush L3 topdown metric",
143        "MetricGroup": "TopDownL3",
144        "MetricName": "nuke_flush"
145    },
146    {
147        "MetricExpr": "1 - nuke_flush",
148        "PublicDescription": "Other flush L3 topdown metric",
149        "BriefDescription": "Other flush L3 topdown metric",
150        "MetricGroup": "TopDownL3",
151        "MetricName": "other_flush"
152    },
153    {
154        "MetricExpr": "armv8_pmuv3_0@event\\=0x2010@ / CPU_CYCLES",
155        "PublicDescription": "Sync stall L3 topdown metric",
156        "BriefDescription": "Sync stall L3 topdown metric",
157        "MetricGroup": "TopDownL3",
158        "MetricName": "sync_stall"
159    },
160    {
161        "MetricExpr": "armv8_pmuv3_0@event\\=0x2004@ / CPU_CYCLES",
162        "PublicDescription": "Rob stall L3 topdown metric",
163        "BriefDescription": "Rob stall L3 topdown metric",
164        "MetricGroup": "TopDownL3",
165        "MetricName": "rob_stall"
166    },
167    {
168        "MetricExpr": "(armv8_pmuv3_0@event\\=0x2006@ + armv8_pmuv3_0@event\\=0x2007@ + armv8_pmuv3_0@event\\=0x2008@) / CPU_CYCLES",
169        "PublicDescription": "Ptag stall L3 topdown metric",
170        "BriefDescription": "Ptag stall L3 topdown metric",
171        "MetricGroup": "TopDownL3",
172        "MetricName": "ptag_stall"
173    },
174    {
175        "MetricExpr": "armv8_pmuv3_0@event\\=0x201e@ / CPU_CYCLES",
176        "PublicDescription": "SaveOpQ stall L3 topdown metric",
177        "BriefDescription": "SaveOpQ stall L3 topdown metric",
178        "MetricGroup": "TopDownL3",
179        "MetricName": "saveopq_stall"
180    },
181    {
182        "MetricExpr": "armv8_pmuv3_0@event\\=0x2005@ / CPU_CYCLES",
183        "PublicDescription": "PC buffer stall L3 topdown metric",
184        "BriefDescription": "PC buffer stall L3 topdown metric",
185        "MetricGroup": "TopDownL3",
186        "MetricName": "pc_buffer_stall"
187    },
188    {
189        "MetricExpr": "armv8_pmuv3_0@event\\=0x7002@ / CPU_CYCLES",
190        "PublicDescription": "Divider L3 topdown metric",
191        "BriefDescription": "Divider L3 topdown metric",
192        "MetricGroup": "TopDownL3",
193        "MetricName": "divider"
194    },
195    {
196        "MetricExpr": "armv8_pmuv3_0@event\\=0x7003@ / CPU_CYCLES",
197        "PublicDescription": "FSU stall L3 topdown metric",
198        "BriefDescription": "FSU stall L3 topdown metric",
199        "MetricGroup": "TopDownL3",
200        "MetricName": "fsu_stall"
201    },
202    {
203        "MetricExpr": "core_bound - divider - fsu_stall",
204        "PublicDescription": "EXE ports util L3 topdown metric",
205        "BriefDescription": "EXE ports util L3 topdown metric",
206        "MetricGroup": "TopDownL3",
207        "MetricName": "exe_ports_util"
208    },
209    {
210        "MetricExpr": "(MEM_STALL_ANYLOAD - MEM_STALL_L1MISS) / CPU_CYCLES",
211        "PublicDescription": "L1 bound L3 topdown metric",
212        "BriefDescription": "L1 bound L3 topdown metric",
213        "MetricGroup": "TopDownL3",
214        "MetricName": "l1_bound"
215    },
216    {
217        "MetricExpr": "(MEM_STALL_L1MISS - MEM_STALL_L2MISS) / CPU_CYCLES",
218        "PublicDescription": "L2 bound L3 topdown metric",
219        "BriefDescription": "L2 bound L3 topdown metric",
220        "MetricGroup": "TopDownL3",
221        "MetricName": "l2_bound"
222    },
223    {
224        "MetricExpr": "MEM_STALL_L2MISS / CPU_CYCLES",
225        "PublicDescription": "Mem bound L3 topdown metric",
226        "BriefDescription": "Mem bound L3 topdown metric",
227        "MetricGroup": "TopDownL3",
228        "MetricName": "mem_bound"
229    },
230    {
231        "MetricExpr": "armv8_pmuv3_0@event\\=0x7005@ / CPU_CYCLES",
232        "PublicDescription": "Store bound L3 topdown metric",
233        "BriefDescription": "Store bound L3 topdown metric",
234        "MetricGroup": "TopDownL3",
235        "MetricName": "store_bound"
236    }
237]
238