diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-02-05 14:04:09 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-02-05 14:04:09 -0500 |
commit | 25cb6db5ccb0c8e8302c220a90344a95baf3909b (patch) | |
tree | 80d6a81f2dcd164f0b127bdfe75a4b2d833c6be6 /src/lib/Bcfg2/Statistics.py | |
parent | 5d237f71575a109c10d5aad8d70dc5dda00a2d96 (diff) | |
download | bcfg2-25cb6db5ccb0c8e8302c220a90344a95baf3909b.tar.gz bcfg2-25cb6db5ccb0c8e8302c220a90344a95baf3909b.tar.bz2 bcfg2-25cb6db5ccb0c8e8302c220a90344a95baf3909b.zip |
moved some libraries in Bcfg2/ into more specific (Server/ or Client/) places
Diffstat (limited to 'src/lib/Bcfg2/Statistics.py')
-rw-r--r-- | src/lib/Bcfg2/Statistics.py | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/lib/Bcfg2/Statistics.py b/src/lib/Bcfg2/Statistics.py deleted file mode 100644 index a869b03cd..000000000 --- a/src/lib/Bcfg2/Statistics.py +++ /dev/null @@ -1,82 +0,0 @@ -""" Module for tracking execution time statistics from the Bcfg2 -server core. This data is exposed by -:func:`Bcfg2.Server.Core.BaseCore.get_statistics`.""" - - -class Statistic(object): - """ A single named statistic, tracking minimum, maximum, and - average execution time, and number of invocations. """ - - def __init__(self, name, initial_value): - """ - :param name: The name of this statistic - :type name: string - :param initial_value: The initial value to be added to this - statistic - :type initial_value: int or float - """ - self.name = name - self.min = float(initial_value) - self.max = float(initial_value) - self.ave = float(initial_value) - self.count = 1 - - def add_value(self, value): - """ Add a value to the statistic, recalculating the various - metrics. - - :param value: The value to add to this statistic - :type value: int or float - """ - self.min = min(self.min, value) - self.max = max(self.max, value) - self.ave = (((self.ave * (self.count - 1)) + value) / self.count) - self.count += 1 - - def get_value(self): - """ Get a tuple of all the stats tracked on this named item. - The tuple is in the format:: - - (<name>, (min, max, average, number of values)) - - This makes it very easy to cast to a dict in - :func:`Statistics.display`. - - :returns: tuple - """ - return (self.name, (self.min, self.max, self.ave, self.count)) - - -class Statistics(object): - """ A collection of named :class:`Statistic` objects. """ - - def __init__(self): - self.data = dict() - - def add_value(self, name, value): - """ Add a value to the named :class:`Statistic`. This just - proxies to :func:`Statistic.add_value` or the - :class:`Statistic` constructor as appropriate. - - :param name: The name of the :class:`Statistic` to add the - value to - :type name: string - :param value: The value to add to the Statistic - :type value: int or float - """ - if name not in self.data: - self.data[name] = Statistic(name, value) - else: - self.data[name].add_value(value) - - def display(self): - """ Return a dict of all :class:`Statistic` object values. - Keys are the statistic names, and values are tuples of the - statistic metrics as returned by - :func:`Statistic.get_value`. """ - return dict([value.get_value() for value in list(self.data.values())]) - - -#: A module-level :class:`Statistics` objects used to track all -#: execution time metrics for the server. -stats = Statistics() # pylint: disable=C0103 |