-
Problem report
-
Resolution: Fixed
-
Minor
-
3.0.22, 3.4.14, 4.0.0, 4.2.0alpha1
-
Sprint 45, Sprint 46, Nov 2018
-
2
Zabbix maps VMware performance counter identifiers to human readable paths in format <group>/<name>[<rollup>]. It might have been enough back then, but now we have two different performance counters that gives the same paths:
<PerfCounterInfo xsi:type="PerfCounterInfo"> <key>422</key> <nameInfo> <label>Latency</label> <summary>Percentage of time the virtual machine is waiting to access swapped or compressed memory</summary> <key>latency</key> </nameInfo> <groupInfo> <label>Memory</label> <summary>Memory</summary> <key>mem</key> </groupInfo> <unitInfo> <label>%</label> <summary>Percentage</summary> <key>percent</key> </unitInfo> <rollupType>average</rollupType> <statsType>absolute</statsType> <level>2</level> <perDeviceLevel>3</perDeviceLevel> </PerfCounterInfo>
and
<PerfCounterInfo xsi:type="PerfCounterInfo"> <key>556</key> <nameInfo> <label>Latency</label> <summary>Percentage of time the virtual machine is waiting to access swapped or compressed memory</summary> <key>latency</key> </nameInfo> <groupInfo> <label>Memory</label> <summary>Memory</summary> <key>mem</key> </groupInfo> <unitInfo> <label>%</label> <summary>Percentage</summary> <key>percent</key> </unitInfo> <rollupType>average</rollupType> <statsType>rate</statsType> <level>2</level> <perDeviceLevel>3</perDeviceLevel> </PerfCounterInfo>
The current paths uses groupInfo.Key/nameInfo.Key[rollupType]. Somehow we must add statsType without breaking old keys. One way might be adding it only for duplicated counters, so the first would have the current path - mem/latency[average], the second mem/latency[average,rate].
Another improvement - would be good to initialize/resize counters hashset with correct size to avoid slots reallocation and reduce memory fragmentation.