Branch: refs/heads/master
Home:
https://github.com/tribe29/checkmk
Commit: 7d9dc046f42827d95f1f0c5e08679b72b8b945d5
https://github.com/tribe29/checkmk/commit/7d9dc046f42827d95f1f0c5e08679b72b…
Author: Max Linke <max.linke(a)tribe29.com>
Date: 2022-06-15 (Wed, 15 Jun 2022)
Changed paths:
A .werks/14349
M cmk/base/agent_based/checking/__init__.py
M cmk/base/agent_based/checking/_cluster_modes.py
M cmk/base/api/agent_based/value_store/_utils.py
M tests/unit/cmk/base/agent_based/checking/test_cluster_modes.py
M tests/unit/cmk/base/api/agent_based/value_store/test_vs_global_state.py
M tests/unit/cmk/base/api/agent_based/value_store/test_vs_utils.py
M tests/unit/cmk/test_update_config.py
Log Message:
-----------
14349 FIX Fix performance bug when using a cluster
Running all checks on a cluster with more than 100 services took several minutes. This has
been fixed and runtime is now a few seconds.
No user interaction required.
below is a more detailed description of the changes
Refactor of value store
=======================
Add hostname as a key to the value store. The hostname
can be set explicitly when creating a namespace. By default
it choses the hostname of the host for the valuestore.
This change is introduced because a cluster consists of
multiple nodes and we need to track entries of the valuestore
for each node in the cluster separately.
During an update we migrate the counter variables to include the hostname
Refactor cluster check
======================
- Only load value store once for a cluster
- use hostname specific namespaces when evaluating checks on a cluster
Change-Id: I3f045e840c40202a4e5fc36a7e7a08990c35f29e