@@ -18,7 +18,7 @@ def test_check(aggregator, instance, dd_run_check):
1818 server_tag = 'server:{}' .format (instance ['server' ])
1919 port_tag = 'port:{}' .format (instance ['port' ])
2020 metrics = common .get_metrics (CLICKHOUSE_VERSION )
21- db_hostname_tag = 'database_hostname:{}' .format (check .reported_hostname )
21+ db_hostname_tag = 'database_hostname:{}' .format (check .database_hostname )
2222 db_instance_tag = 'database_instance:{}:{}:default' .format (instance ['server' ], instance ['port' ])
2323
2424 for metric in metrics :
@@ -55,7 +55,7 @@ def test_custom_queries(aggregator, instance, dd_run_check):
5555 'db:default' ,
5656 'foo:bar' ,
5757 'test:clickhouse' ,
58- 'database_hostname:{}' .format (check .reported_hostname ),
58+ 'database_hostname:{}' .format (check .database_hostname ),
5959 'database_instance:{}:{}:default' .format (instance ['server' ], instance ['port' ]),
6060 ],
6161 )
@@ -99,8 +99,12 @@ def test_version_metadata(instance, datadog_agent, dd_run_check):
9999 )
100100
101101
102- def test_database_instance_metadata (aggregator , instance , datadog_agent , dd_run_check ):
102+ @pytest .mark .parametrize ('reported_hostname' , [None , 'forced-clickhouse-host' ])
103+ def test_database_instance_metadata (aggregator , instance , datadog_agent , dd_run_check , reported_hostname ):
103104 """Test that database_instance metadata is sent correctly."""
105+ if reported_hostname :
106+ instance ['reported_hostname' ] = reported_hostname
107+
104108 check = ClickhouseCheck ('clickhouse' , {}, [instance ])
105109 check .check_id = 'test:456'
106110 dd_run_check (check )
@@ -115,6 +119,13 @@ def test_database_instance_metadata(aggregator, instance, datadog_agent, dd_run_
115119 assert event ['dbms' ] == 'clickhouse'
116120 assert event ['kind' ] == 'database_instance'
117121 assert event ['database_instance' ] == check .database_identifier
122+ # database_hostname always reports the resolved host, independent of the reported_hostname override
123+ assert event ['database_hostname' ] == check .database_hostname
124+ # host follows the reported_hostname override when one is configured
125+ assert event ['host' ] == check .reported_hostname
126+ if reported_hostname :
127+ assert event ['host' ] == reported_hostname
128+ assert event ['database_hostname' ] != reported_hostname
118129 assert event ['collection_interval' ] == 300
119130 assert 'metadata' in event
120131 assert 'dbm' in event ['metadata' ]
0 commit comments