Module: check_mk
Branch: master
Commit: aa44a7a1e2cc2c65514ea342b71244df06671c5b
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=aa44a7a1e2cc2c…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Apr 18 17:03:02 2016 +0200
Cleaned up counter wrap handling a bit
---
modules/check_mk_base.py | 10 ++++++++--
modules/discovery.py | 3 +--
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index 84df17f..167fd94 100644
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -1149,10 +1149,16 @@ def reset_wrapped_counters():
g_last_counter_wrap = None
+# TODO: Can we remove this? (check API)
def last_counter_wrap():
return g_last_counter_wrap
+def raise_counter_wrap():
+ if g_last_counter_wrap:
+ raise g_last_counter_wrap # pylint: disable=raising-bad-type
+
+
# Compute average by gliding exponential algorithm
# itemname : unique ID for storing this average until the next check
# this_time : timestamp of new value
@@ -1490,8 +1496,7 @@ def do_all_checks_on_host(hostname, ipaddress, only_check_types =
None, fetch_ag
raise Exception(str(info))
result = sanitize_check_result(check_function(item, params, info),
check_uses_snmp(checkname))
- if last_counter_wrap():
- raise last_counter_wrap()
+ raise_counter_wrap()
# handle check implementations that do not yet support the
@@ -1661,6 +1666,7 @@ def create_crash_dump_info_file(crash_dir, hostname, check_type,
item, params, d
# reporting it is totally ok to have some string representations of the objects.
class RobustJSONEncoder(json.JSONEncoder):
# Are there cases where no __str__ is available? if so, we should do something
like %r
+ # pylint: disable=method-hidden
def default(self, o):
return "%s" % o
diff --git a/modules/discovery.py b/modules/discovery.py
index 95300f3..c4c5aeb 100644
--- a/modules/discovery.py
+++ b/modules/discovery.py
@@ -1044,8 +1044,7 @@ def get_check_preview(hostname, use_caches, do_snmp_scan,
on_error):
try:
reset_wrapped_counters()
result = sanitize_check_result(check_function(item, params, info),
check_uses_snmp(check_type))
- if last_counter_wrap():
- raise last_counter_wrap()
+ raise_counter_wrap()
except MKCounterWrapped, e:
result = (None, "WAITING - Counter based check, cannot be done
offline")
except Exception, e: