HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
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