def test_filters(mockstatsd): class BlueFilter(MetricsFilter): def filter(self, record): if "blue" not in record.key: return return record ddm = statsd.StatsdMetrics(filters=[BlueFilter()]) ddm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=[])) ddm.emit_to_backend(MetricsRecord("incr", key="foo.blue", value=2, tags=[])) assert ddm.client.calls == [("incr", (), {"stat": "foo.blue", "count": 2})]
def test_filters(self, caplog): class BlueFilter(MetricsFilter): def filter(self, record): if "blue" not in record.key: return return record caplog.set_level("DEBUG") lm = LoggingMetrics(filters=[BlueFilter()]) lm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=[])) lm.emit_to_backend(MetricsRecord("incr", key="foo.blue", value=2, tags=[])) assert caplog.record_tuples == [ ("markus", 20, "METRICS|2017-03-06 16:30:00|incr|foo.blue|2|") ]
def test_filters(self, capsys): class BlueFilter(MetricsFilter): def filter(self, record): if "blue" not in record.key: return return record ddcm = CloudwatchMetrics(filters=[BlueFilter()]) ddcm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=[])) ddcm.emit_to_backend( MetricsRecord("incr", key="foo.blue", value=2, tags=[])) out, err = capsys.readouterr() assert out == "MONITORING|1488817800|2|count|foo.blue|\n" assert err == ""
def test_filters(mockdogstatsd): class BlueFilter(MetricsFilter): def filter(self, record): if "blue" not in record.key: return return record ddm = datadog.DatadogMetrics(filters=[BlueFilter()]) ddm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=[])) ddm.emit_to_backend(MetricsRecord("incr", key="foo.blue", value=2, tags=[])) assert ddm.client.calls == [("increment", (), { "metric": "foo.blue", "value": 2, "tags": [] })]
def test_timing(metricsmock): metrics = get_metrics("thing") with metricsmock as mm: metrics.timing("foo", value=1234) assert mm.get_records() == [MetricsRecord("timing", "thing.foo", 1234, [])]
def test_gauge(metricsmock): metrics = get_metrics("thing") with metricsmock as mm: metrics.gauge("foo", value=10) assert mm.get_records() == [MetricsRecord("gauge", "thing.foo", 10, [])]
def test_incr(metricsmock): metrics = get_metrics("thing") with metricsmock as mm: metrics.incr("foo", value=5) assert mm.get_records() == [MetricsRecord("incr", "thing.foo", 5, [])]
def test_incr(self, caplog): caplog.set_level("DEBUG") rec = MetricsRecord("incr", key="foo", value=10, tags=["key1:val", "key2:val"]) lm = LoggingMetrics() lm.emit_to_backend(rec) assert caplog.record_tuples == [ ("markus", 20, "METRICS|2017-03-06 16:30:00|incr|foo|10|#key1:val,key2:val") ]
def test_timing(mockdogstatsd): rec = MetricsRecord("timing", key="foo", value=1234, tags=["key1:val"]) ddm = datadog.DatadogMetrics() ddm.emit_to_backend(rec) assert ddm.client.calls == [("timing", (), { "metric": "foo", "value": 1234, "tags": ["key1:val"] })]
def test_histogram(mockdogstatsd): rec = MetricsRecord("histogram", key="foo", value=4321, tags=["key1:val"]) ddm = datadog.DatadogMetrics() ddm.emit_to_backend(rec) assert ddm.client.calls == [("histogram", (), { "metric": "foo", "value": 4321, "tags": ["key1:val"] })]
def test_histogram(metricsmock): metrics = get_metrics("thing") with metricsmock as mm: metrics.histogram("foo", value=4321) assert mm.get_records() == [ MetricsRecord("histogram", "thing.foo", 4321, []) ]
def test_histogram(self, capsys): rec = MetricsRecord("histogram", key="foo", value=100, tags=["key1:val", "key2:val"]) ddcm = CloudwatchMetrics() ddcm.emit_to_backend(rec) out, err = capsys.readouterr() assert out == "MONITORING|1488817800|100|histogram|foo|#key1:val,key2:val\n" assert err == ""
def test_histogram(self, caplog): caplog.set_level("DEBUG") rec = MetricsRecord( "histogram", key="foo", value=4321, tags=["key1:val", "key2:val"] ) lm = LoggingMetrics() lm.emit_to_backend(rec) assert caplog.record_tuples == [ ( "markus", 20, "METRICS|2017-03-06 16:30:00|histogram|foo|4321|#key1:val,key2:val", ) ]
def test_rollup(self, caplog): caplog.set_level("DEBUG") with freeze_time("2017-04-19 12:00:00"): lm = LoggingRollupMetrics() lm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=None)) lm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=None)) lm.emit_to_backend( MetricsRecord("gauge", key="widget", value=10, tags=None) ) lm.emit_to_backend(MetricsRecord("incr", key="foo", value=1, tags=None)) lm.emit_to_backend(MetricsRecord("incr", key="bar", value=1, tags=None)) lm.emit_to_backend( MetricsRecord("gauge", key="widget", value=20, tags=None) ) lm.emit_to_backend(MetricsRecord("gauge", key="widget", value=5, tags=None)) lm.emit_to_backend( MetricsRecord("histogram", key="save_time", value=50, tags=None) ) lm.emit_to_backend( MetricsRecord("histogram", key="save_time", value=60, tags=None) ) with freeze_time("2017-04-19 12:00:11"): lm.emit_to_backend(MetricsRecord("incr", key="bar", value=1, tags=None)) assert caplog.record_tuples == [ ("markus", 20, "ROLLUP INCR bar: count:1|rate:1/10"), ("markus", 20, "ROLLUP INCR foo: count:3|rate:3/10"), ("markus", 20, "ROLLUP GAUGE widget: count:3|current:5|min:5|max:20"), ( "markus", 20, "ROLLUP HISTOGRAM save_time: " "count:2|min:50.00|avg:55.00|median:55.00|ninety-five:60.00|max:60.00", ), ]
def test_timing(mockstatsd): rec = MetricsRecord("timing", key="foo", value=1234, tags=["key1:val"]) ddm = statsd.StatsdMetrics() ddm.emit_to_backend(rec) assert ddm.client.calls == [("timing", (), {"stat": "foo", "delta": 1234})]
def test_gauge(mockstatsd): rec = MetricsRecord("gauge", key="foo", value=100, tags=["key1:val"]) ddm = statsd.StatsdMetrics() ddm.emit_to_backend(rec) assert ddm.client.calls == [("gauge", (), {"stat": "foo", "value": 100})]