summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozpower/mozpower/mozpowerutils.py
blob: bedf272a0eb0b6bd462c80c0a4936d3de2ea2f65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.


def get_logger(logger_name):
    """Returns the logger that should be used based on logger_name.
    Defaults to the logging logger if mozlog cannot be imported.

    :returns: mozlog or logging logger object
    """
    logger = None
    try:
        import mozlog

        logger = mozlog.get_default_logger(logger_name)
    except ImportError:
        pass

    if logger is None:
        import logging

        logging.basicConfig()
        logger = logging.getLogger(logger_name)
    return logger


def average_summary(values):
    """Averages all given values.

    :param list values: list of values to average.
    :returns: float
    """
    # pylint --py3k W1619
    return sum([float(v[0]) for v in values]) / len(values)


def sum_summary(values):
    """Adds all values together.

    :param list values: list of values to sum.
    :returns: float
    """
    return sum([float(v[0]) for v in values])


def frequency_summary(values):
    """Returns the average frequency as the summary value.

    :param list values: list of values to search in.
    :returns: float
    """
    avgfreq = 0
    for val, name in values:
        if "avg" in name:
            avgfreq = float(val)
            break
    return avgfreq