Re: [PATCH] perf vendor events power10: Adds 24x7 nest metric events for power10 platform

From: Paul A. Clarke
Date: Fri Jun 25 2021 - 09:22:03 EST


On Fri, Jun 25, 2021 at 05:29:48PM +0530, Kajol Jain wrote:
> Patch adds 24x7 nest metric events for POWER10.
>
> Signed-off-by: Kajol Jain <kjain@xxxxxxxxxxxxx>
> ---
> .../arch/powerpc/power10/nest_metrics.json | 491 ++++++++++++++++++
> 1 file changed, 491 insertions(+)
> create mode 100644 tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json
>
> diff --git a/tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json b/tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json
> new file mode 100644
> index 000000000000..b79046cd8b09
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json
> @@ -0,0 +1,491 @@
> +[
> + {
> + "MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P01",
> + "BriefDescription": "VEC_GROUP_PUMP_RETRY_RATIO_P01",

Is it possible to get better descriptions than just a restatement of the
name, or no description at all?

This comment obviously applies to almost all of the metrics herein.

> + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P23",
> + "BriefDescription": "VEC_GROUP_PUMP_RETRY_RATIO_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "LOCAL_NODE_PUMP_RETRY_RATIO_P01",
> + "BriefDescription": "LOCAL_NODE_PUMP_RETRY_RATIO_P01",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_LNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_LNS_PUMP01\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "LOCAL_NODE_PUMP_RETRY_RATIO_P23",
> + "BriefDescription": "LOCAL_NODE_PUMP_RETRY_RATIO_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_LNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_LNS_PUMP23\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "GROUP_PUMP_RETRY_RATIO_P01",
> + "BriefDescription": "GROUP_PUMP_RETRY_RATIO_P01",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_GROUP_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_GROUP_PUMP01\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "GROUP_PUMP_RETRY_RATIO_P23",
> + "BriefDescription": "GROUP_PUMP_RETRY_RATIO_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_GROUP_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_GROUP_PUMP23\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_GROUP_PUMPS_P01",
> + "BriefDescription": "TOTAL_GROUP_PUMPS_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_GROUP_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_GROUP_PUMPS_P23",
> + "BriefDescription": "TOTAL_GROUP_PUMPS_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_GROUP_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_GROUP_PUMPS_RETRIES_P01",
> + "BriefDescription": "TOTAL_GROUP_PUMPS_RETRIES_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_GROUP_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_GROUP_PUMPS_RETRIES_P23",
> + "BriefDescription": "TOTAL_GROUP_PUMPS_RETRIES_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_GROUP_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P01",
> + "BriefDescription": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P01",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P23",
> + "BriefDescription": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_VECTOR_GROUP_PUMPS_P01",
> + "BriefDescription": "TOTAL_VECTOR_GROUP_PUMPS_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_VECTOR_GROUP_PUMPS_P23",
> + "BriefDescription": "TOTAL_VECTOR_GROUP_PUMPS_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_LOCAL_NODE_PUMPS_P01",
> + "BriefDescription": "TOTAL_LOCAL_NODE_PUMPS_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_LNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_LOCAL_NODE_PUMPS_P23",
> + "BriefDescription": "TOTAL_LOCAL_NODE_PUMPS_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_LNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_VECTOR_GROUP_PUMPS_RETRIES_P01",
> + "BriefDescription": "TOTAL_VECTOR_GROUP_PUMPS_RETRIES_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_VECTOR_GROUP_PUMPS_RETRIES_P23",
> + "BriefDescription": "TOTAL_VECTOR_GROUP_PUMPS_RETRIES_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_LOCAL_NODE_PUMPS_RETRIES_P01",
> + "BriefDescription": "TOTAL_LOCAL_NODE_PUMPS_RETRIES_P01(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_LNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_LOCAL_NODE_PUMPS_RETRIES_P23",
> + "BriefDescription": "TOTAL_LOCAL_NODE_PUMPS_RETRIES_P23(PER-CYC)",
> + "MetricExpr": "(hv_24x7@PM_PB_RTY_LNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_REMOTE_NODE_PUMPS_P01",
> + "BriefDescription": "TOTAL_REMOTE_NODE_PUMPS_P01",
> + "MetricExpr": "(hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_REMOTE_NODE_PUMPS_P23",
> + "BriefDescription": "TOTAL_REMOTE_NODE_PUMPS_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_NEAR_NODE_PUMPS_P01",
> + "BriefDescription": "TOTAL_NEAR_NODE_PUMPS_P01",
> + "MetricExpr": "(hv_24x7@PM_PB_NNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_NEAR_NODE_PUMPS_P23",
> + "BriefDescription": "TOTAL_NEAR_NODE_PUMPS_P23",
> + "MetricExpr": "(hv_24x7@PM_PB_NNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PAU_CYC\\,chip\\=?@)",
> + "ScaleUnit": "4",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_INT_PB_BW",
> + "BriefDescription": "TOTAL_INT_PB_BW",
> + "MetricExpr": "(hv_24x7@PM_PB_INT_DATA_XFER\\,chip\\=?@)",
> + "ScaleUnit": "2.09MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK0_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK0_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK1_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK1_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK2_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK2_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK3_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK3_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK4_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK4_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK5_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK5_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK6_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK6_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK7_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "XLINK7_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK0_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK0_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK1_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK1_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK2_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK2_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK3_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK3_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK4_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK4_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK5_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK5_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK6_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK6_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "XLINK7_OUT_DATA_UTILIZATION",
> + "BriefDescription": "XLINK7_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK0_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK0_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK1_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK1_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK2_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK2_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK3_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK3_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK4_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK4_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK5_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK5_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK6_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK6_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK7_OUT_TOTAL_UTILIZATION",
> + "BriefDescription": "ALINK7_OUT_TOTAL_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK0_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK0_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK1_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK1_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK2_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK2_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK3_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK3_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK4_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK4_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK5_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK5_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK6_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK6_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "ALINK7_OUT_DATA_UTILIZATION",
> + "BriefDescription": "ALINK7_OUT_DATA_UTILIZATION",
> + "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100",
> + "ScaleUnit": "1.063%",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_DATA_BANDWIDTH_TRANSFERRED_OVER_PB_PCI1",
> + "BriefDescription": "TOTAL_DATA_BANDWIDTH_TRANSFERRED_OVER_PB_PCI1",
> + "MetricExpr": "(hv_24x7@PM_PCI1_32B_INOUT\\,chip\\=?@)",
> + "ScaleUnit": "3.28e-2MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_DATA_BANDWIDTH_TRANSFERRED_OVER_PB_PCI0",
> + "BriefDescription": "TOTAL_DATA_BANDWIDTH_TRANSFERRED_OVER_PB_PCI0",
> + "MetricExpr": "(hv_24x7@PM_PCI0_32B_INOUT\\,chip\\=?@)",
> + "ScaleUnit": "3.28e-2MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_READ_BW_MC0_CHAN01",
> + "BriefDescription": "TOTAL_MCS_READ_BW_MC0_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC0_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "5.24e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_READ_BW_MC1_CHAN01",
> + "BriefDescription": "TOTAL_MCS_READ_BW_MC1_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC1_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "5.24e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_READ_BW_MC2_CHAN01",
> + "BriefDescription": "TOTAL_MCS_READ_BW_MC2_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC2_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "5.24e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_READ_BW_MC3_CHAN01",
> + "BriefDescription": "TOTAL_MCS_READ_BW_MC3_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC3_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "5.24e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_WRITE_BW_MC0_CHAN01",
> + "BriefDescription": "TOTAL_MCS_WRITE_BW_MC0_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC0_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "2.6e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_WRITE_BW_MC1_CHAN01",
> + "BriefDescription": "TOTAL_MCS_WRITE_BW_MC1_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC1_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "2.6e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_WRITE_BW_MC2_CHAN01",
> + "BriefDescription": "TOTAL_MCS_WRITE_BW_MC2_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC2_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "2.6e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricName": "TOTAL_MCS_WRITE_BW_MC3_CHAN01",
> + "BriefDescription": "TOTAL_MCS_WRITE_BW_MC3_CHAN01",
> + "MetricExpr": "(hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC3_CHAN01\\,chip\\=?@)",
> + "ScaleUnit": "2.6e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricExpr": "(hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC0_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC1_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC2_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_128B_RD_DATA_BLOCKS_MC3_CHAN01\\,chip\\=?@)",
> + "MetricName": "Memory_RD_BW_Chip",

The pattern up until this point was "MetricName", then "BriefDescription",
then "MetricExpr". I think it would be helpful to continue that here,
and for the next two as well. That should include _having_ a description,
obviously. :-)

> + "MetricGroup": "Memory_BW",
> + "ScaleUnit": "5.24e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricExpr": "(hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC0_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC1_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC2_CHAN01\\,chip\\=?@ + hv_24x7@PM_MCS_64B_WR_DATA_BLOCKS_MC3_CHAN01\\,chip\\=?@ )",
> + "MetricName": "Memory_WR_BW_Chip",
> + "MetricGroup": "Memory_BW",
> + "ScaleUnit": "2.6e-1MB",
> + "AggregationMode": "PerChip"
> + },
> + {
> + "MetricExpr": "(hv_24x7@PM_PAU_CYC\\,chip\\=?@ )",
> + "MetricName": "PowerBUS_Frequency",
> + "ScaleUnit": "2.56e-7GHz",
> + "AggregationMode": "PerChip"
> + }
> +]
> --

PC