]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mgr/influx: Use Queue to store points which need to be written 23464/head
authorWido den Hollander <wido@42on.com>
Mon, 6 Aug 2018 09:45:13 +0000 (11:45 +0200)
committerWido den Hollander <wido@42on.com>
Tue, 21 Aug 2018 12:06:46 +0000 (14:06 +0200)
commit25e7d313316b8131cc9e3dbbbd4ce6959a92756b
treef51b776d4389eb809e3029f3ce1eed629068c159
parent19f2525fc72e9c6b31ee4610a9d38ac1063f19b4
mgr/influx: Use Queue to store points which need to be written

This allows us to multiplex data being send to Influx as we have
a configurable amount of workers sending data to Influx.

The main bottleneck for the performance seems to be fetching all
the perf counters using this code:

    self.get_all_perf_counters()

On a larger cluster, for example 2000 OSDs this can take about 20s
where flushing to Influx only takes 5s.

A 2000 OSD cluster generates about 100k data points on every run,
prior to using a Queue these would all be send to Influx in series
in that took over 15 seconds to complete.

Python Six is being used in the code to make sure it's compatible
with both Python 2 and 3.

Signed-off-by: Wido den Hollander <wido@42on.com>
doc/mgr/influx.rst
src/pybind/mgr/influx/module.py