in src/worker/exporters/net_exporter.py [0:0]
def process(self):
for ib_port in config['ib_port'].keys():
ib_port_config = config['ib_port'][ib_port]
for field_name in IB_COUNTERS:
ib_port_config['counter_file'][field_name].seek(0)
counter = 0
if field_name == 'port_physical_state':
counter = PORT_STATE[ib_port_config['counter_file'][field_name].readline().split()[1].strip()]
else:
counter = int(ib_port_config['counter_file']
[field_name].readline().strip())
if field_name.endswith('_data'):
counter_delta = counter - ib_port_config['counters'][field_name]
if counter_delta >= 0:
self.handle_field(
ib_port,
field_name,
counter_delta * 4 / config['update_freq'],
)
else:
self.handle_field(
ib_port,
field_name,
(counter_delta + 2**64) * 4 / config['update_freq'],
)
else:
self.handle_field(ib_port, field_name, counter)
ib_port_config['counters'][field_name] = counter