diff --git a/mysql/changelog.d/20870.added b/mysql/changelog.d/20870.added new file mode 100644 index 0000000000000..16c98318026de --- /dev/null +++ b/mysql/changelog.d/20870.added @@ -0,0 +1 @@ +Update core tags with agent host name diff --git a/mysql/datadog_checks/mysql/mysql.py b/mysql/datadog_checks/mysql/mysql.py index 181d6a9e1537b..136fef9d54e22 100644 --- a/mysql/datadog_checks/mysql/mysql.py +++ b/mysql/datadog_checks/mysql/mysql.py @@ -242,6 +242,7 @@ 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) + 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: diff --git a/mysql/tests/tags.py b/mysql/tests/tags.py index 18c74b1072c41..ad78549a9a207 100644 --- a/mysql/tests/tags.py +++ b/mysql/tests/tags.py @@ -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}', ) @@ -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', diff --git a/mysql/tests/test_metadata.py b/mysql/tests/test_metadata.py index fc7014f2418e0..8b78ec645e384 100644 --- a/mysql/tests/test_metadata.py +++ b/mysql/tests/test_metadata.py @@ -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', diff --git a/mysql/tests/test_mysql.py b/mysql/tests/test_mysql.py index f5e2473b34b8f..758a5a98bb2f4 100644 --- a/mysql/tests/test_mysql.py +++ b/mysql/tests/test_mysql.py @@ -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:{"stubbed.hostname"}', 'dbms_flavor:{}'.format(MYSQL_FLAVOR.lower()), ) if MYSQL_FLAVOR in ('mysql', 'percona'): @@ -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 @@ -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]) @@ -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', diff --git a/mysql/tests/test_query_activity.py b/mysql/tests/test_query_activity.py index 46a16ee46aba1..a83d48f33ae88 100644 --- a/mysql/tests/test_query_activity.py +++ b/mysql/tests/test_query_activity.py @@ -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', @@ -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', diff --git a/mysql/tests/test_statements.py b/mysql/tests/test_statements.py index d83fb83d7790a..c423b62dc6d9b 100644 --- a/mysql/tests/test_statements.py +++ b/mysql/tests/test_statements.py @@ -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()), @@ -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', diff --git a/mysql/tests/test_unit.py b/mysql/tests/test_unit.py index 6d79aa8635843..e0058af459c48 100644 --- a/mysql/tests/test_unit.py +++ b/mysql/tests/test_unit.py @@ -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', }, ), ( @@ -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', }, ), ( @@ -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', }, ), ( @@ -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', }, ), ], diff --git a/postgres/changelog.d/20870.added b/postgres/changelog.d/20870.added new file mode 100644 index 0000000000000..d6f0a8011eda0 --- /dev/null +++ b/postgres/changelog.d/20870.added @@ -0,0 +1 @@ +Update tags with agent host name. Added agent_hostname to the core tags to be able to inject it to all surfaces of the UI diff --git a/postgres/datadog_checks/postgres/postgres.py b/postgres/datadog_checks/postgres/postgres.py index 6c41fd82320fa..d057cbfc72251 100644 --- a/postgres/datadog_checks/postgres/postgres.py +++ b/postgres/datadog_checks/postgres/postgres.py @@ -185,6 +185,7 @@ def add_core_tags(self): """ self.tags.append("database_hostname:{}".format(self.database_hostname)) self.tags.append("database_instance:{}".format(self.database_identifier)) + self.tags.append("ddagenthostname:{}".format(self.agent_hostname)) def set_resource_tags(self): if self.cloud_metadata.get("gcp") is not None: diff --git a/postgres/tests/common.py b/postgres/tests/common.py index da86e8258d712..deff721c61abb 100644 --- a/postgres/tests/common.py +++ b/postgres/tests/common.py @@ -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}') diff --git a/postgres/tests/test_pg_integration.py b/postgres/tests/test_pg_integration.py index fbf4ee821b8cb..a1bd70720e34e 100644 --- a/postgres/tests/test_pg_integration.py +++ b/postgres/tests/test_pg_integration.py @@ -772,6 +772,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('stubbed.hostname'), ] check = PostgreSql('test_instance', {}, [pg_instance]) run_one_check(check) diff --git a/postgres/tests/test_unit.py b/postgres/tests/test_unit.py index 8a56569a934f6..aa1d5c9af3ae9 100644 --- a/postgres/tests/test_unit.py +++ b/postgres/tests/test_unit.py @@ -142,6 +142,7 @@ def test_query_timeout_connection_string(aggregator, integration_check, pg_insta 'port:5432', 'foo:bar', 'dd.internal.resource:database_instance:stubbed.hostname', + 'ddagenthostname:stubbed.hostname', 'database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', }, @@ -154,6 +155,7 @@ def test_query_timeout_connection_string(aggregator, integration_check, pg_insta 'port:5432', 'server:localhost', 'dd.internal.resource:database_instance:stubbed.hostname', + 'ddagenthostname:stubbed.hostname', 'database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', }, diff --git a/sqlserver/changelog.d/20870.added b/sqlserver/changelog.d/20870.added new file mode 100644 index 0000000000000..16c98318026de --- /dev/null +++ b/sqlserver/changelog.d/20870.added @@ -0,0 +1 @@ +Update core tags with agent host name diff --git a/sqlserver/datadog_checks/sqlserver/sqlserver.py b/sqlserver/datadog_checks/sqlserver/sqlserver.py index 8893a5f9b27f3..0c1ba4302c68c 100644 --- a/sqlserver/datadog_checks/sqlserver/sqlserver.py +++ b/sqlserver/datadog_checks/sqlserver/sqlserver.py @@ -235,6 +235,7 @@ 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) + 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: diff --git a/sqlserver/tests/test_statements.py b/sqlserver/tests/test_statements.py index 553df7b80b5c6..bf0001aba9727 100644 --- a/sqlserver/tests/test_statements.py +++ b/sqlserver/tests/test_statements.py @@ -912,6 +912,7 @@ def _expected_dbm_instance_tags(check): "database_hostname:{}".format("stubbed.hostname"), "database_instance:{}".format("stubbed.hostname"), "dd.internal.resource:database_instance:{}".format("stubbed.hostname"), + "ddagenthostname:{}".format("stubbed.hostname"), "sqlserver_servername:{}".format(check.static_info_cache.get(STATIC_INFO_SERVERNAME)), ] diff --git a/sqlserver/tests/test_stored_procedures.py b/sqlserver/tests/test_stored_procedures.py index d25b9a4218deb..d02acd1b8ba7c 100644 --- a/sqlserver/tests/test_stored_procedures.py +++ b/sqlserver/tests/test_stored_procedures.py @@ -44,6 +44,7 @@ def _expected_dbm_instance_tags(check): "database_hostname:{}".format("stubbed.hostname"), "database_instance:{}".format("stubbed.hostname"), "dd.internal.resource:database_instance:{}".format("stubbed.hostname"), + "ddagenthostname:{}".format("stubbed.hostname"), "sqlserver_servername:{}".format(check.static_info_cache.get(STATIC_INFO_SERVERNAME)), ]