Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions mysql/changelog.d/20991.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update core tags with agent host name for DB integrations(postgres, mysql, sqlserver)
2 changes: 2 additions & 0 deletions mysql/datadog_checks/mysql/mysql.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,8 @@ def add_core_tags(self):
"""
self.tag_manager.set_tag("database_hostname", self.database_hostname, replace=True)
self.tag_manager.set_tag("database_instance", self.database_identifier, replace=True)
if self.agent_hostname:
self.tag_manager.set_tag("ddagenthostname", self.agent_hostname, replace=True)

def set_resource_tags(self):
if self.cloud_metadata.get("gcp") is not None:
Expand Down
2 changes: 2 additions & 0 deletions mysql/tests/tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ def database_instance_resource_tags(hostname):
f'dd.internal.resource:database_instance:{hostname}',
f'database_hostname:{hostname}',
f'database_instance:{hostname}',
f'ddagenthostname:{hostname}',
)


Expand All @@ -35,6 +36,7 @@ def database_instance_resource_tags(hostname):
'dd.internal.resource:database_instance:stubbed.hostname',
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
)
SC_FAILURE_TAGS = (
'port:unix_socket',
Expand Down
1 change: 1 addition & 0 deletions mysql/tests/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,7 @@ def test_collect_schemas(aggregator, dd_run_check, dbm_instance):
'database_instance:stubbed.hostname',
'dbms_flavor:{}'.format(common.MYSQL_FLAVOR.lower()),
'dd.internal.resource:database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
'port:13306',
'tag1:value1',
'tag2:value2',
Expand Down
4 changes: 4 additions & 0 deletions mysql/tests/test_mysql.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ def test_e2e(dd_agent_check, dd_default_hostname, instance_complex, root_conn):
expected_metric_tags = tags.METRIC_TAGS + (
f'database_hostname:{dd_default_hostname}',
f'database_instance:{dd_default_hostname}',
f'ddagenthostname:{dd_default_hostname}',
'dbms_flavor:{}'.format(MYSQL_FLAVOR.lower()),
)
if MYSQL_FLAVOR in ('mysql', 'percona'):
Expand Down Expand Up @@ -457,6 +458,7 @@ def test_correct_hostname(dbm_enabled, reported_hostname, expected_hostname, agg
'server:{}'.format(HOST),
'port:{}'.format(PORT),
'dd.internal.resource:database_instance:{}'.format(expected_hostname),
'ddagenthostname:{}'.format('stubbed.hostname'),
)
aggregator.assert_service_check(
'mysql.can_connect', status=MySql.OK, tags=expected_tags, count=1, hostname=expected_hostname
Expand Down Expand Up @@ -828,6 +830,7 @@ def test_database_instance_metadata(aggregator, dd_run_check, instance_complex,
"database_instance:{}".format(expected_database_instance),
'dd.internal.resource:database_instance:{}'.format(expected_database_instance),
"dbms_flavor:{}".format(MYSQL_FLAVOR.lower()),
'ddagenthostname:{}'.format('stubbed.hostname'),
)

mysql_check = MySql(common.CHECK_NAME, {}, [instance_complex])
Expand Down Expand Up @@ -897,6 +900,7 @@ def test_propagate_agent_tags(
+ (
'database_hostname:stubbed.hostname',
'database_instance:forced_hostname',
'ddagenthostname:stubbed.hostname',
'server:{}'.format(HOST),
'port:{}'.format(PORT),
'dd.internal.resource:database_instance:forced_hostname',
Expand Down
2 changes: 2 additions & 0 deletions mysql/tests/test_query_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ def _run_blocking(conn):
expected_tags = (
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
'tag1:value1',
'tag2:value2',
'port:13306',
Expand Down Expand Up @@ -550,6 +551,7 @@ def _expected_dbm_job_err_tags(dbm_instance, check):
_tags = dbm_instance['tags'] + (
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
'job:query-activity',
'port:{}'.format(PORT),
'dd.internal.resource:database_instance:stubbed.hostname',
Expand Down
2 changes: 2 additions & 0 deletions mysql/tests/test_statements.py
Original file line number Diff line number Diff line change
Expand Up @@ -879,6 +879,7 @@ def _expected_dbm_instance_tags(dbm_instance, check):
_tags = dbm_instance.get('tags', ()) + (
'database_hostname:{}'.format('stubbed.hostname'),
'database_instance:{}'.format('stubbed.hostname'),
'ddagenthostname:{}'.format('stubbed.hostname'),
'server:{}'.format(common.HOST),
'port:{}'.format(common.PORT),
'dbms_flavor:{}'.format(MYSQL_FLAVOR.lower()),
Expand All @@ -896,6 +897,7 @@ def _expected_dbm_job_err_tags(dbm_instance, check):
_tags = dbm_instance['tags'] + (
'database_hostname:{}'.format('stubbed.hostname'),
'database_instance:{}'.format('stubbed.hostname'),
'ddagenthostname:{}'.format('stubbed.hostname'),
'port:{}'.format(common.PORT),
'server:{}'.format(common.HOST),
'dd.internal.resource:database_instance:stubbed.hostname',
Expand Down
4 changes: 4 additions & 0 deletions mysql/tests/test_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ def cursor(self):
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'dd.internal.resource:database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
(
Expand All @@ -320,6 +321,7 @@ def cursor(self):
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'dd.internal.resource:database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
(
Expand All @@ -330,6 +332,7 @@ def cursor(self):
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'dd.internal.resource:database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
(
Expand All @@ -341,6 +344,7 @@ def cursor(self):
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'dd.internal.resource:database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
],
Expand Down
1 change: 1 addition & 0 deletions postgres/changelog.d/20991.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update core tags with agent host name for DB integrations(postgres, mysql, sqlserver)
2 changes: 2 additions & 0 deletions postgres/datadog_checks/postgres/postgres.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ def add_core_tags(self):
"""
self.tags.append("database_hostname:{}".format(self.database_hostname))
self.tags.append("database_instance:{}".format(self.database_identifier))
if self.agent_hostname:
self.tags.append("ddagenthostname:{}".format(self.agent_hostname))

def set_resource_tags(self):
if self.cloud_metadata.get("gcp") is not None:
Expand Down
1 change: 1 addition & 0 deletions postgres/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ def _get_expected_tags(
pg_instance['tags']
+ [f'port:{pg_instance["port"]}']
+ [f'database_hostname:{check.database_hostname}', f'database_instance:{check.database_identifier}']
+ [f'ddagenthostname:{check.agent_hostname}']
)
if role:
base_tags.append(f'replication_role:{role}')
Expand Down
1 change: 1 addition & 0 deletions postgres/tests/test_e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ def test_e2e(check, dd_agent_check, pg_instance):

check._database_hostname = socket.gethostname().lower()
check._database_identifier = socket.gethostname().lower()
check._agent_hostname = socket.gethostname().lower()
expected_tags = _get_expected_tags(check, pg_instance, with_host=False)
check_bgw_metrics(aggregator, expected_tags)
check_common_metrics(aggregator, expected_tags=expected_tags, count=None)
10 changes: 7 additions & 3 deletions postgres/tests/test_pg_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -720,9 +720,12 @@ def test_correct_hostname(dbm_enabled, reported_hostname, expected_hostname, agg
pg_instance['disable_generic_tags'] = False # This flag also affects the hostname
pg_instance['reported_hostname'] = reported_hostname

with mock.patch(
'datadog_checks.postgres.PostgreSql.resolve_db_host', return_value=expected_hostname
) as resolve_db_host:
with (
mock.patch(
'datadog_checks.postgres.PostgreSql.resolve_db_host', return_value=expected_hostname
) as resolve_db_host,
mock.patch('datadog_checks.base.stubs.datadog_agent.get_hostname', return_value=expected_hostname),
):
check = PostgreSql('test_instance', {}, [pg_instance])
check.run()
assert resolve_db_host.called is True
Expand Down Expand Up @@ -776,6 +779,7 @@ def test_database_instance_metadata(aggregator, pg_instance, dbm_enabled, report
'replication_role:master',
'database_hostname:{}'.format(expected_database_hostname),
'database_instance:{}'.format(expected_database_instance),
'ddagenthostname:{}'.format(expected_database_hostname),
]
check = PostgreSql('test_instance', {}, [pg_instance])
run_one_check(check)
Expand Down
2 changes: 2 additions & 0 deletions postgres/tests/test_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ def test_query_timeout_connection_string(aggregator, integration_check, pg_insta
'dd.internal.resource:database_instance:stubbed.hostname',
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
(
Expand All @@ -156,6 +157,7 @@ def test_query_timeout_connection_string(aggregator, integration_check, pg_insta
'dd.internal.resource:database_instance:stubbed.hostname',
'database_hostname:stubbed.hostname',
'database_instance:stubbed.hostname',
'ddagenthostname:stubbed.hostname',
},
),
],
Expand Down
1 change: 1 addition & 0 deletions sqlserver/changelog.d/20991.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update core tags with agent host name for DB integrations(postgres, mysql, sqlserver)
2 changes: 2 additions & 0 deletions sqlserver/datadog_checks/sqlserver/sqlserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,8 @@ def add_core_tags(self):
"""
self.tag_manager.set_tag("database_hostname", self.database_hostname, replace=True)
self.tag_manager.set_tag("database_instance", self.database_identifier, replace=True)
if self.agent_hostname:
self.tag_manager.set_tag("ddagenthostname", self.agent_hostname, replace=True)

def set_resource_tags(self):
if self.cloud_metadata.get("gcp") is not None:
Expand Down
2 changes: 2 additions & 0 deletions sqlserver/tests/test_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ def test_collect_load_activity(
expected_instance_tags = {t for t in instance_tags if not t.startswith('dd.internal')}
expected_instance_tags.add("database_hostname:stubbed.hostname")
expected_instance_tags.add("database_instance:stubbed.hostname")
expected_instance_tags.add("ddagenthostname:stubbed.hostname")
expected_instance_tags.add("dd.internal.resource:database_instance:stubbed.hostname")
if collect_raw_query_statement:
instance["collect_raw_query_statement"] = {"enabled": True}
Expand Down Expand Up @@ -831,6 +832,7 @@ def _expected_dbm_instance_tags(check):
return check._config.tags + [
"database_hostname:{}".format("stubbed.hostname"),
"database_instance:{}".format("stubbed.hostname"),
"ddagenthostname:{}".format("stubbed.hostname"),
"dd.internal.resource:database_instance:{}".format("stubbed.hostname"),
"sqlserver_servername:{}".format(check.static_info_cache.get(STATIC_INFO_SERVERNAME)),
]
Expand Down
Loading
Loading