Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/cl_plus/collectors/collector_base.py |
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2020 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENCE.TXT
#
from cl_plus.consts import COLLECTORS_DEFAULT_INTERVAL
class CollectorBase(object):
def __init__(self, _logger):
self.name = 'base'
self.collection_interval = COLLECTORS_DEFAULT_INTERVAL
self._logger = _logger
self._aggregated_data = None
self._aggregated_data_count = 0
def init(self):
"""
Initialize collector
:return: None
"""
raise NotImplementedError()
def aggregate_new_data(self):
"""
Retrive and aggregate new data. Optional method
:return: None
"""
pass
def get_averages(self):
"""
Get collector's averages data
:return: dict
"""
raise NotImplementedError()
def shutdown(self):
"""
Shutdown collector. Optional method
:return:
"""
pass