Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-14974

Duplicated performance counter paths

XMLWordPrintable

    • 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.

            MVekslers Michael Veksler
            wiper Andris Zeila
            Team A
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: