The 'perf' ZAPI documentations call out ARRAY types and dealing with their labels, but there's no definition of how to handle matrices.
One example is perf:perf:cpu_disk_util_matrix, whose perf-object-counter-list-info and perf-object-get-instances values are shown below:
<counter-info>
<name>cpu_disk_util_matrix</name>
<desc>Matrix of per second correlation between CPU utili
zation and disk utilization</desc>
<privilege-level>diag</privilege-level>
<properties>delta</properties>
<unit>none</unit>
<type>array</type>
<labels>
<label-info>0 - <10%,10 - <20%,20 - <30%,30 - <4
0%,40 - <50%,50 - <60%,60 - <70%,70 - <80%,80 - <90%,90 - 100%</label-info>
<label-info>0 - <10%,10 - <20%,20 - <30%,30 - <4
0%,40 - <50%,50 - <60%,60 - <70%,70 - <80%,80 - <90%,90 - 100%</label-info>
</labels>
</counter-info>
<counter-data>
<name>cpu_disk_util_matrix</name>
<value>296,3665,1094,156,60,47,28,11,2,6
4,1006,63311,20339,3294,619,1350,109,96,48,6127,185,154598,249343,52811,10754,52
76,857,667,889,15272,103,69159,496216,269353,66473,18853,4369,2712,4604,21806,48
,16976,336832,543179,236185,83707,22877,10183,8654,31663,16,5613,152144,526922,4
29262,204981,70852,29877,17113,33352,12,2154,61265,364364,563583,400869,176524,6
9122,30599,32601,9,1882,26045,209906,570886,632157,374827,158500,61580,41222,16,
3798,24520,113810,421882,756790,665648,350748,141147,70235,12,754,15408,100896,3
73368,1014174,1584875,1249035,518984,189089</value>
</counter-data>
It would seem that the presence of multiple label-info elements is the only indication this isn't a simple array type. Is there a more correct indicator that should be used?
The labels are presented dimensionally and the values (perf-object-get-instances) are collapsed to a single dimension. What's the correct serialization of the labels?
Though I couldn't find any examples, are counters with three or more dimensions supported by the underlying counter manager?