[
    {
        "MetricExpr": "100 * (stall_slot_frontend / (#slots * cpu_cycles))",
        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the frontend of the processor.",
        "DefaultMetricgroupName": "TopdownL1",
        "MetricGroup": "Default;TopdownL1",
        "MetricName": "frontend_bound",
        "ScaleUnit": "1percent of slots"
    },
    {
        "MetricExpr": "100 * ((1 - op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
        "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.",
        "DefaultMetricgroupName": "TopdownL1",
        "MetricGroup": "Default;TopdownL1",
        "MetricName": "bad_speculation",
        "ScaleUnit": "1percent of slots"
    },
    {
        "MetricExpr": "100 * ((op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
        "BriefDescription": "This metric is the percentage of total slots that retired operations, which indicates cycles that were utilized efficiently.",
        "DefaultMetricgroupName": "TopdownL1",
        "MetricGroup": "Default;TopdownL1",
        "MetricName": "retiring",
        "ScaleUnit": "1percent of slots"
    },
    {
        "MetricExpr": "100 * (stall_slot_backend / (#slots * cpu_cycles))",
        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the backend of the processor.",
        "DefaultMetricgroupName": "TopdownL1",
        "MetricGroup": "Default;TopdownL1",
        "MetricName": "backend_bound",
        "ScaleUnit": "1percent of slots"
    }
]
