1[
2    {
3        "MetricExpr": "100 * (stall_slot_frontend / (#slots * cpu_cycles))",
4        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the frontend of the processor.",
5        "DefaultMetricgroupName": "TopdownL1",
6        "MetricGroup": "Default;TopdownL1",
7        "MetricName": "frontend_bound",
8        "ScaleUnit": "1percent of slots"
9    },
10    {
11        "MetricExpr": "100 * ((1 - op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
12        "BriefDescription": "This metric is the percentage of total slots that executed operations and didn't retire due to a pipeline flush.\nThis indicates cycles that were utilized but inefficiently.",
13        "DefaultMetricgroupName": "TopdownL1",
14        "MetricGroup": "Default;TopdownL1",
15        "MetricName": "bad_speculation",
16        "ScaleUnit": "1percent of slots"
17    },
18    {
19        "MetricExpr": "100 * ((op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
20        "BriefDescription": "This metric is the percentage of total slots that retired operations, which indicates cycles that were utilized efficiently.",
21        "DefaultMetricgroupName": "TopdownL1",
22        "MetricGroup": "Default;TopdownL1",
23        "MetricName": "retiring",
24        "ScaleUnit": "1percent of slots"
25    },
26    {
27        "MetricExpr": "100 * (stall_slot_backend / (#slots * cpu_cycles))",
28        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the backend of the processor.",
29        "DefaultMetricgroupName": "TopdownL1",
30        "MetricGroup": "Default;TopdownL1",
31        "MetricName": "backend_bound",
32        "ScaleUnit": "1percent of slots"
33    }
34]
35