diff options
author | Lennart Weller <lhw@ring0.de> | 2016-09-05 08:27:21 +0000 |
---|---|---|
committer | Lennart Weller <lhw@ring0.de> | 2016-09-05 08:27:21 +0000 |
commit | 1746898cefcb17f58b5cf27b4dad3d28236f1152 (patch) | |
tree | 9207f191cf39bbd077a1e1c73d6e82123e2fc710 /python.d/apache_cache.chart.py | |
parent | Imported Upstream version 1.2.0+dfsg (diff) | |
download | netdata-1746898cefcb17f58b5cf27b4dad3d28236f1152.tar.xz netdata-1746898cefcb17f58b5cf27b4dad3d28236f1152.zip |
Imported Upstream version 1.3.0+dfsgupstream/1.3.0+dfsg
Diffstat (limited to 'python.d/apache_cache.chart.py')
-rw-r--r-- | python.d/apache_cache.chart.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/python.d/apache_cache.chart.py b/python.d/apache_cache.chart.py new file mode 100644 index 00000000..3681a851 --- /dev/null +++ b/python.d/apache_cache.chart.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Description: apache cache netdata python.d module +# Author: Pawel Krupa (paulfantom) + +from base import LogService + +priority = 60000 +retries = 60 +# update_every = 3 + +ORDER = ['cache'] +CHARTS = { + 'cache': { + 'options': [None, 'apache cached responses', 'percent cached', 'cached', 'apache_cache.cache', 'stacked'], + 'lines': [ + ["hit", 'cache', "percentage-of-absolute-row"], + ["miss", None, "percentage-of-absolute-row"], + ["other", None, "percentage-of-absolute-row"] + ]} +} + + +class Service(LogService): + def __init__(self, configuration=None, name=None): + LogService.__init__(self, configuration=configuration, name=name) + if len(self.log_path) == 0: + self.log_path = "/var/log/apache2/cache.log" + self.order = ORDER + self.definitions = CHARTS + + def _get_data(self): + """ + Parse new log lines + :return: dict + """ + try: + raw = self._get_raw_data() + if raw is None: + return None + elif not raw: + return {'hit': 0, + 'miss': 0, + 'other': 0} + except (ValueError, AttributeError): + return None + + hit = 0 + miss = 0 + other = 0 + for line in raw: + if "cache hit" in line: + hit += 1 + elif "cache miss" in line: + miss += 1 + else: + other += 1 + + return {'hit': hit, + 'miss': miss, + 'other': other} |