def test_metrics(aggregator, instance, couchbase_container_ip): """ Test couchbase metrics not including 'couchbase.query.' """ couchbase = Couchbase('couchbase', {}, instances=[instance]) couchbase.check(instance) assert_basic_couchbase_metrics(aggregator, couchbase_container_ip)
def test_metadata(instance_query, datadog_agent): check = Couchbase('couchbase', {}, instances=[instance_query]) check.check_id = 'test:123' check.check(None) data = check.get_data() nodes = data['stats']['nodes'] raw_version = "" # Next, get all the nodes if nodes is not None: for node in nodes: raw_version = node['version'] major, minor, patch = raw_version.split("-")[0].split(".") version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.release': mock.ANY, 'version.build': 'enterprise', 'version.raw': raw_version.replace('-enterprise', '+enterprise'), } datadog_agent.assert_metadata('test:123', version_metadata)
def test_service_check(aggregator, couchbase_service, couchbase_config): """ Assert the OK service check """ couchbase = Couchbase('couchbase', {}, {}) couchbase.check(couchbase_config) aggregator.assert_service_check(Couchbase.SERVICE_CHECK_NAME, tags=CHECK_TAGS, status=Couchbase.OK, count=1)
def test_metrics(aggregator, couchbase_container_ip): """ Test couchbase metrics not including 'couchbase.query.' """ couchbase = Couchbase('couchbase', {}, {}) couchbase.check(CONFIG['instances'][0]) assert_basic_couchbase_metrics(aggregator, couchbase_container_ip)
def test_query_monitoring_metrics(aggregator, instance_query, couchbase_container_ip): """ Test system vitals metrics (prefixed "couchbase.query.") """ couchbase = Couchbase('couchbase', {}, instances=[instance_query]) couchbase.check(None) for mname in QUERY_STATS: aggregator.assert_metric('couchbase.query.{}'.format(mname), tags=CHECK_TAGS, count=1)
def test_metrics(aggregator, couchbase_container_ip, couchbase_config): """ Test couchbase metrics not including 'couchbase.query.' """ couchbase = Couchbase('couchbase', {}, {}) couchbase.check(couchbase_config) assert_basic_couchbase_metrics(aggregator, couchbase_container_ip)
def test_query_monitoring_metrics(aggregator, couchbase_container_ip): """ Test system vitals metrics (prefixed "couchbase.query.") """ # Add query monitoring endpoint couchbase = Couchbase('couchbase', {}, {}) couchbase.check(CONFIG_QUERY['instances'][0]) assert_basic_couchbase_metrics(aggregator, couchbase_container_ip) # Assert 'couchbase.query.' metrics for mname in Couchbase.QUERY_STATS: aggregator.assert_metric('couchbase.query.{}'.format(mname), tags=CHECK_TAGS, count=1)
def test_sync_gateway_metrics(aggregator, instance_sg, couchbase_container_ip): """ Test Sync Gateway metrics (prefixed "couchbase.sync_gateway.") """ couchbase = Couchbase('couchbase', {}, instances=[instance_sg]) couchbase.check(None) db_tags = ['db:sync_gateway'] + CHECK_TAGS for mname in SYNC_GATEWAY_METRICS: if mname.count('.') > 2: # metrics tagged by database have an additional namespace aggregator.assert_metric(mname, tags=db_tags, count=1) else: aggregator.assert_metric(mname, tags=CHECK_TAGS, count=1) aggregator.assert_service_check(SG_SERVICE_CHECK_NAME, status=Couchbase.OK, tags=CHECK_TAGS)
def test_service_check(aggregator, couchbase_container_ip): """ Assert the OK service check """ couchbase = Couchbase('couchbase', {}, {}) couchbase.check(CONFIG['instances'][0]) NODE_HOST = '{}:{}'.format(couchbase_container_ip, PORT) NODE_TAGS = ['node:{}'.format(NODE_HOST)] aggregator.assert_service_check(Couchbase.SERVICE_CHECK_NAME, tags=CHECK_TAGS, status=Couchbase.OK, count=1) aggregator.assert_service_check(Couchbase.NODE_CLUSTER_SERVICE_CHECK_NAME, tags=CHECK_TAGS + NODE_TAGS, status=Couchbase.OK, count=1) aggregator.assert_service_check(Couchbase.NODE_HEALTH_SERVICE_CHECK_NAME, tags=CHECK_TAGS + NODE_TAGS, status=Couchbase.OK, count=1)
def test_metrics(aggregator, instance, couchbase_container_ip): """ Test couchbase metrics not including 'couchbase.query.' """ couchbase = Couchbase('couchbase', {}, instances=[instance]) couchbase.check(None) # Assert each type of metric (buckets, nodes, totals) except query _assert_bucket_metrics(aggregator, BUCKET_TAGS + ['device:{}'.format(BUCKET_NAME)]) # Assert 'couchbase.by_node.' metrics node_tags = CHECK_TAGS + [ 'node:{}:{}'.format(couchbase_container_ip, PORT), 'device:{}:{}'.format(couchbase_container_ip, PORT), ] _assert_stats(aggregator, node_tags) aggregator.assert_all_metrics_covered()
def test_config(test_case, extra_config, expected_http_kwargs): instance = deepcopy(DEFAULT_INSTANCE) instance.update(extra_config) check = Couchbase('couchbase', {}, [instance]) with mock.patch('datadog_checks.base.utils.http.requests') as r: r.get.return_value = mock.MagicMock(status_code=200) check.check(instance) http_wargs = dict(auth=mock.ANY, cert=mock.ANY, headers=mock.ANY, proxies=mock.ANY, timeout=mock.ANY, verify=mock.ANY) http_wargs.update(expected_http_kwargs) r.get.assert_called_with('http://localhost:8091/pools/default/tasks', **http_wargs)