1[
2    {
3        "MetricExpr": "stall_slot_frontend / (#slots * cpu_cycles)",
4        "BriefDescription": "Frontend bound L1 topdown metric",
5        "MetricGroup": "TopdownL1",
6        "MetricName": "frontend_bound",
7        "ScaleUnit": "100%"
8    },
9    {
10        "MetricExpr": "(1 - op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles))",
11        "BriefDescription": "Bad speculation L1 topdown metric",
12        "MetricGroup": "TopdownL1",
13        "MetricName": "bad_speculation",
14        "ScaleUnit": "100%"
15    },
16    {
17        "MetricExpr": "(op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles))",
18        "BriefDescription": "Retiring L1 topdown metric",
19        "MetricGroup": "TopdownL1",
20        "MetricName": "retiring",
21        "ScaleUnit": "100%"
22    },
23    {
24        "MetricExpr": "stall_slot_backend / (#slots * cpu_cycles)",
25        "BriefDescription": "Backend Bound L1 topdown metric",
26        "MetricGroup": "TopdownL1",
27        "MetricName": "backend_bound",
28        "ScaleUnit": "100%"
29    }
30]
31