Ejemplo n.º 1
0
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})]
Ejemplo n.º 2
0
    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|")
        ]
Ejemplo n.º 3
0
    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 == ""
Ejemplo n.º 4
0
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": []
    })]
Ejemplo n.º 5
0
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, [])]
Ejemplo n.º 6
0
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, [])]
Ejemplo n.º 7
0
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, [])]
Ejemplo n.º 8
0
 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")
     ]
Ejemplo n.º 9
0
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"]
    })]
Ejemplo n.º 10
0
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"]
    })]
Ejemplo n.º 11
0
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, [])
    ]
Ejemplo n.º 12
0
 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 == ""
Ejemplo n.º 13
0
 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",
         )
     ]
Ejemplo n.º 14
0
    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",
            ),
        ]
Ejemplo n.º 15
0
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})]
Ejemplo n.º 16
0
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})]