| [ |
| { |
| "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" |
| } |
| ] |