1*c4e1dc4aSJohn Garry[ 2*c4e1dc4aSJohn Garry { 3*c4e1dc4aSJohn Garry "MetricExpr": "FETCH_BUBBLE / (4 * CPU_CYCLES)", 4*c4e1dc4aSJohn Garry "PublicDescription": "Frontend bound L1 topdown metric", 5*c4e1dc4aSJohn Garry "BriefDescription": "Frontend bound L1 topdown metric", 6*c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 7*c4e1dc4aSJohn Garry "MetricName": "frontend_bound" 8*c4e1dc4aSJohn Garry }, 9*c4e1dc4aSJohn Garry { 10*c4e1dc4aSJohn Garry "MetricExpr": "(INST_SPEC - INST_RETIRED) / (4 * CPU_CYCLES)", 11*c4e1dc4aSJohn Garry "PublicDescription": "Bad Speculation L1 topdown metric", 12*c4e1dc4aSJohn Garry "BriefDescription": "Bad Speculation L1 topdown metric", 13*c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 14*c4e1dc4aSJohn Garry "MetricName": "bad_speculation" 15*c4e1dc4aSJohn Garry }, 16*c4e1dc4aSJohn Garry { 17*c4e1dc4aSJohn Garry "MetricExpr": "INST_RETIRED / (CPU_CYCLES * 4)", 18*c4e1dc4aSJohn Garry "PublicDescription": "Retiring L1 topdown metric", 19*c4e1dc4aSJohn Garry "BriefDescription": "Retiring L1 topdown metric", 20*c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 21*c4e1dc4aSJohn Garry "MetricName": "retiring" 22*c4e1dc4aSJohn Garry }, 23*c4e1dc4aSJohn Garry { 24*c4e1dc4aSJohn Garry "MetricExpr": "1 - (frontend_bound + bad_speculation + retiring)", 25*c4e1dc4aSJohn Garry "PublicDescription": "Backend Bound L1 topdown metric", 26*c4e1dc4aSJohn Garry "BriefDescription": "Backend Bound L1 topdown metric", 27*c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 28*c4e1dc4aSJohn Garry "MetricName": "backend_bound" 29*c4e1dc4aSJohn Garry }, 30*c4e1dc4aSJohn Garry] 31