예제 #1
0
def test_linkerd(aggregator, linkerd_fixture):
    """
    Test the full check
    """
    c = LinkerdCheck('linkerd', None, {}, [MOCK_INSTANCE])
    c.check(MOCK_INSTANCE)

    for metric in LINKERD_FIXTURE_VALUES:
        aggregator.assert_metric(metric, LINKERD_FIXTURE_VALUES[metric])
예제 #2
0
def test_linkerd_v2(aggregator):
    check = LinkerdCheck('linkerd', {}, [MOCK_INSTANCE])
    with requests_mock.Mocker() as metric_request:
        metric_request.get('http://fake.tld/prometheus', text=get_response('linkerd_v2.txt'))
        check.check(MOCK_INSTANCE)

    for metric_name, metric_type in EXPECTED_METRICS_V2.items():
        aggregator.assert_metric(metric_name, metric_type=metric_type)

    aggregator.assert_all_metrics_covered()

    aggregator.assert_service_check(
        'linkerd.prometheus.health', status=LinkerdCheck.OK, tags=['endpoint:http://fake.tld/prometheus'], count=1
    )
예제 #3
0
def test_linkerd(aggregator):
    """
    Test the full check
    """
    check = LinkerdCheck('linkerd', {}, [MOCK_INSTANCE])
    with requests_mock.Mocker() as metric_request:
        metric_request.get('http://fake.tld/prometheus', text=get_response('linkerd.txt'))
        check.check(MOCK_INSTANCE)

    for metric in LINKERD_FIXTURE_VALUES:
        aggregator.assert_metric(metric, LINKERD_FIXTURE_VALUES[metric])

    aggregator.assert_metric('linkerd.prometheus.health', metric_type=aggregator.GAUGE)

    aggregator.assert_all_metrics_covered()

    aggregator.assert_service_check(
        'linkerd.prometheus.health', status=check.OK, tags=['endpoint:http://fake.tld/prometheus'], count=1
    )
예제 #4
0
def test_linkerd_v2_new(aggregator, dd_run_check, mock_http_response):
    mock_http_response(file_path=get_fixture_path('linkerd_v2.txt'))
    check = LinkerdCheck('linkerd', {}, [MOCK_INSTANCE_NEW])
    dd_run_check(check)

    for metric_name, metric_type in EXPECTED_METRICS_V2_NEW.items():
        aggregator.assert_metric(metric_name, metric_type=metric_type)

    aggregator.assert_all_metrics_covered()

    aggregator.assert_service_check(
        'linkerd.prometheus.health', status=LinkerdCheck.OK, tags=['endpoint:http://fake.tld/prometheus'], count=1
    )
예제 #5
0
def test_openmetrics_error(monkeypatch):
    check = LinkerdCheck('linkerd', None, {}, [MOCK_INSTANCE])
    with requests_mock.Mocker() as metric_request:
        metric_request.get('http://fake.tld/prometheus', exc="Exception")
        with pytest.raises(Exception):
            check.check(MOCK_INSTANCE)
예제 #6
0
def test_linkerd_v2(aggregator):
    check = LinkerdCheck('linkerd', None, {}, [MOCK_INSTANCE])
    with requests_mock.Mocker() as metric_request:
        metric_request.get('http://fake.tld/prometheus',
                           text=get_response('linkerd_v2.txt'))
        check.check(MOCK_INSTANCE)

    aggregator.assert_metric('linkerd.request_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.response_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.response_latency.count',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.response_latency.sum',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.route.request_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.route.response_latency.count',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.route.response_latency.sum',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.route.response_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.route.actual_request_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.route.actual_response_latency.count',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.route.actual_response_latency.sum',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.route.actual_response_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.tcp.open_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.tcp.open_connections',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.tcp.read_bytes_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.tcp.write_bytes_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.tcp.close_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.tcp.connection_duration.count',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.tcp.connection_duration.sum',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.control.request_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.control.response_latency.count',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.control.response_latency.sum',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.control.response_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.process.start_time',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.process.cpu_seconds_total',
                             metric_type=aggregator.MONOTONIC_COUNT)
    aggregator.assert_metric('linkerd.process.open_fds',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.process.max_fds',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.process.virtual_memory',
                             metric_type=aggregator.GAUGE)
    aggregator.assert_metric('linkerd.process.resident_memory',
                             metric_type=aggregator.GAUGE)

    aggregator.assert_metric('linkerd.prometheus.health',
                             metric_type=aggregator.GAUGE)

    aggregator.assert_all_metrics_covered()

    aggregator.assert_service_check(
        'linkerd.prometheus.health',
        status=check.OK,
        tags=['endpoint:http://fake.tld/prometheus'],
        count=1)