def test_decrement_raises(self): m = metrics.CumulativeMetric('test') m.set(3.14) with self.assertRaises(errors.MonitoringDecreasingValueError): m.set(0) with self.assertRaises(errors.MonitoringDecreasingValueError): m.increment_by(-1)
def test_start_timestamp(self): t = targets.DeviceTarget('reg', 'role', 'net', 'host') m = metrics.CumulativeMetric('test', fields={'foo': 'bar'}) m.set(3.14) p = metrics_pb2.MetricsCollection() m.serialize_to(p, 1234, (), m.get(), t) self.assertEquals(1234000000, p.data[0].start_timestamp_us)
import inspect import logging import logging.handlers import os import re import socket import sys import tempfile import textwrap import pytz from infra_libs.ts_mon.common import metrics log_metric = metrics.CumulativeMetric( 'proc/log_lines', 'Number of log lines, per severity level.', [metrics.StringField('level')]) if sys.platform.startswith('win'): # pragma: no cover DEFAULT_LOG_DIRECTORIES = os.pathsep.join([ 'E:\\chrome-infra-logs', 'C:\\chrome-infra-logs', ]) else: DEFAULT_LOG_DIRECTORIES = '/var/log/chrome-infra' class InfraFilter(logging.Filter): # pragma: no cover """Adds fields used by the infra-specific formatter. Fields added:
def test_non_number_raises(self): m = metrics.CumulativeMetric('test') with self.assertRaises(errors.MonitoringInvalidValueTypeError): m.set(object())
def test_set(self): m = metrics.CumulativeMetric('test') m.set(3.14) self.assertAlmostEquals(m.get(), 3.14)
def test_populate_value(self): pb = metrics_pb2.MetricsData() m = metrics.CumulativeMetric('test') m._populate_value(pb, 1.618, 1234) self.assertAlmostEquals(pb.cumulative_double_value, 1.618)
def test_is_cumulative(self): m = metrics.CumulativeMetric('test', 'test', None) self.assertTrue(m.is_cumulative())
def test_generate_proto(self): proto = self._test_proto(metrics.CumulativeMetric('c', 'test', None), lambda m: m.increment_by(5.2), metrics_pb2.DOUBLE, metrics_pb2.CUMULATIVE) self.assertAlmostEqual(5.2, proto.double_value)