summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorIlya Mashchenko <ilyamaschenko@gmail.com>2019-03-07 13:49:56 +0300
committerGitHub <noreply@github.com>2019-03-07 13:49:56 +0300
commit2175673e29f8ee35d2e48719c6cf0169ddd31405 (patch)
tree7b4e3f15342bc88d3187184ebf87f85d50e96ccb /CHANGELOG.md
parentd66b45ac0fa9918944c91c5ed4b3f4e76fb9f950 (diff)
python.d.plugin: use separate process for initial module checking (#5552)
##### Summary This PR adds (major) changes only to `python.d.plugin` file. Fixes: #5525 `pyhton.d.plugin` imports a lot of additional packages during initial module initialization/job creating/checking and there is no way to unimport them, even if they arn't needed. It consumes relatively a lot of ram. ___ Memory utilization comparing before/after the PR (one job `example` module, py3.7.2): > 21.1 => 8.8 MiB ![screenshot_20190305_111837](https://user-images.githubusercontent.com/22274335/53791147-c27a6e00-3f39-11e9-8eaf-8ac3809a3b6e.png) ##### Component Name [`collectors/python.d.plugin`](https://github.com/netdata/netdata/blob/master/collectors/python.d.plugin/python.d.plugin.in) ##### Additional Information This PR adds separate process for initial module checking. Logic: - main process spawns checker process - checker process loads every module, loads module config, creates jobs and runs job.check() for every job, if check success it adds the job to the list. - checker process returns list of modules and jobs. - main process loads only active modules, etc.
Diffstat (limited to 'CHANGELOG.md')
0 files changed, 0 insertions, 0 deletions