def test_observable(): class Derp(Observable): def __init__(self): self.metrics.register(Label('value', 'derp value')) metrics = Metrics() metrics.register_observable('derpspace', Derp()) assert metrics.sample() == {'derpspace.value': 'derp value'}
def test_metric_sample(): metrics = Metrics() sampler = MetricSampler(metrics) assert sampler.sample() == {} sampler.iterate() assert sampler.sample() == {} metrics.register(Label('herp', 'derp')) assert sampler.sample() == {} sampler.iterate() assert sampler.sample() == {'herp': 'derp'}
def test_compound_metrics(): metrics1 = Metrics() metrics2 = Metrics() metrics1.register(Label('value', 'first')) metrics2.register(Label('value', 'second')) assert CompoundMetrics(metrics1, metrics2).sample() == {'value': 'second'} metrics1.register(Label('other', 'third')) assert CompoundMetrics(metrics1, metrics2).sample() == { 'value': 'second', 'other': 'third' }
def test_compound_metrics(): metrics1 = Metrics() metrics2 = Metrics() metrics1.register(Label('value', 'first')) metrics2.register(Label('value', 'second')) assert CompoundMetrics(metrics1, metrics2).sample() == {'value': 'second'} metrics1.register(Label('other', 'third')) assert CompoundMetrics(metrics1, metrics2).sample() == { 'value': 'second', 'other': 'third'}
def test_metric_read_write(): metrics = Metrics() with temporary_file() as fp: os.unlink(fp.name) writer = DiskMetricWriter(metrics, fp.name) reader = DiskMetricReader(fp.name) assert reader.sample() == {} reader.iterate() assert reader.sample() == {} writer.iterate() assert reader.sample() == {} reader.iterate() assert reader.sample() == {} metrics.register(Label('herp', 'derp')) writer.iterate() assert reader.sample() == {} reader.iterate() assert reader.sample() == {'herp': 'derp'}