예제 #1
0
def test_check_with_filters(aggregator):
    # type: (AggregatorStub) -> None
    check = MarklogicCheck('marklogic', {}, [INSTANCE_FILTERS])

    check.check(INSTANCE_FILTERS)

    _assert_metrics(aggregator, COMMON_TAGS)

    # Resource filter only
    for metric in STORAGE_HOST_METRICS + RESOURCE_STORAGE_FOREST_METRICS:
        aggregator.assert_metric_has_tag(metric,
                                         'forest_name:Security',
                                         count=1)
    for metric in RESOURCE_STATUS_DATABASE_METRICS:
        aggregator.assert_metric_has_tag(metric,
                                         'database_name:Documents',
                                         count=1)
    for metric in [
            'marklogic.requests.query-count',
            'marklogic.requests.total-requests',
            'marklogic.requests.update-count',
    ]:
        aggregator.assert_metric(metric,
                                 tags=COMMON_TAGS +
                                 ['server_name:Admin', 'group_name:Default'],
                                 count=1)

    aggregator.assert_all_metrics_covered()

    # Service checks
    _assert_service_checks(aggregator, COMMON_TAGS)

    aggregator.assert_no_duplicate_all()

    aggregator.assert_metrics_using_metadata(get_metadata_metrics())
예제 #2
0
def test_check(aggregator):
    # type: (AggregatorStub) -> None
    check = MarklogicCheck('marklogic', {}, [INSTANCE])

    check.check(INSTANCE)

    _assert_metrics(aggregator, COMMON_TAGS)

    aggregator.assert_all_metrics_covered()

    # Service checks
    _assert_service_checks(aggregator, COMMON_TAGS)

    aggregator.assert_no_duplicate_all()

    aggregator.assert_metrics_using_metadata(get_metadata_metrics())
예제 #3
0
def test_check_simple_user(aggregator):
    # type: (AggregatorStub) -> None
    check = MarklogicCheck('marklogic', {}, [INSTANCE_SIMPLE_USER])

    check.check(INSTANCE_SIMPLE_USER)

    _assert_metrics(aggregator, COMMON_TAGS)

    aggregator.assert_all_metrics_covered()

    # Service checks
    _assert_service_checks(aggregator, COMMON_TAGS, include_health_checks=False)

    len(aggregator._service_checks) == 1  # can_connect service check only

    aggregator.assert_no_duplicate_all()

    aggregator.assert_metrics_using_metadata(get_metadata_metrics())
예제 #4
0
def test_metadata_integration(aggregator, datadog_agent):
    # type: (AggregatorStub, Any) -> None
    c = MarklogicCheck('marklogic', {}, [INSTANCE])
    c.check_id = 'test:123'
    c.check(INSTANCE)

    parsed_version = version.parse(MARKLOGIC_VERSION)
    version_metadata = {
        'version.scheme': 'marklogic',
        'version.major': str(parsed_version.major),
        'version.minor': str(parsed_version.minor),
        'version.patch': str(parsed_version.post),
        'version.raw': MARKLOGIC_VERSION,
    }

    datadog_agent.assert_metadata('test:123', version_metadata)
    datadog_agent.assert_metadata_count(len(version_metadata))

    # Service checks
    _assert_service_checks(aggregator, COMMON_TAGS)