Skip to content

Commit 0546bdf

Browse files
ericapisaniclaude
andauthored
feat(clickhouse_driver): Add db.query.text to streamed query spans (#6635)
Adds the `db.query.text` attribute to ClickHouse driver spans when span streaming is enabled. This brings ClickHouse driver spans in line with other database integrations like asyncpg that already include query text in streamed spans. Fixes #6634 Fixes PY-2547 --------- Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
1 parent 10ee604 commit 0546bdf

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

sentry_sdk/integrations/clickhouse_driver.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def _inner(*args: "P.args", **kwargs: "P.kwargs") -> "T":
9090
attributes={
9191
"sentry.op": OP.DB,
9292
"sentry.origin": ClickhouseDriverIntegration.origin,
93+
SPANDATA.DB_QUERY_TEXT: str(query),
9394
},
9495
)
9596
else:

tests/integrations/clickhouse_driver/test_clickhouse_driver.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,6 @@ def test_clickhouse_client_spans(
234234
sentry_init,
235235
capture_events,
236236
capture_items,
237-
capture_envelopes,
238237
span_streaming,
239238
):
240239
sentry_init(
@@ -278,6 +277,7 @@ def test_clickhouse_client_spans(
278277
"db.namespace": "",
279278
"db.user": "default",
280279
"sentry.op": "db",
280+
"db.query.text": "DROP TABLE IF EXISTS test",
281281
"sentry.origin": "auto.db.clickhouse_driver",
282282
"server.address": "localhost",
283283
"server.port": 9000,
@@ -293,6 +293,7 @@ def test_clickhouse_client_spans(
293293
"db.namespace": "",
294294
"db.user": "default",
295295
"sentry.op": "db",
296+
"db.query.text": "CREATE TABLE test (x Int32) ENGINE = Memory",
296297
"sentry.origin": "auto.db.clickhouse_driver",
297298
"server.address": "localhost",
298299
"server.port": 9000,
@@ -308,6 +309,7 @@ def test_clickhouse_client_spans(
308309
"db.namespace": "",
309310
"db.user": "default",
310311
"sentry.op": "db",
312+
"db.query.text": "INSERT INTO test (x) VALUES",
311313
"sentry.origin": "auto.db.clickhouse_driver",
312314
"server.address": "localhost",
313315
"server.port": 9000,
@@ -323,6 +325,7 @@ def test_clickhouse_client_spans(
323325
"db.namespace": "",
324326
"db.user": "default",
325327
"sentry.op": "db",
328+
"db.query.text": "INSERT INTO test (x) VALUES",
326329
"sentry.origin": "auto.db.clickhouse_driver",
327330
"server.address": "localhost",
328331
"server.port": 9000,
@@ -338,6 +341,7 @@ def test_clickhouse_client_spans(
338341
"db.namespace": "",
339342
"db.user": "default",
340343
"sentry.op": "db",
344+
"db.query.text": "SELECT sum(x) FROM test WHERE x > 150",
341345
"sentry.origin": "auto.db.clickhouse_driver",
342346
"server.address": "localhost",
343347
"server.port": 9000,
@@ -563,6 +567,7 @@ def test_clickhouse_client_spans_with_pii(
563567
"db.system.name": "clickhouse",
564568
"db.namespace": "",
565569
"db.user": "default",
570+
"db.query.text": "DROP TABLE IF EXISTS test",
566571
"server.address": "localhost",
567572
"server.port": 9000,
568573
"thread.id": mock.ANY,
@@ -577,6 +582,7 @@ def test_clickhouse_client_spans_with_pii(
577582
"db.system.name": "clickhouse",
578583
"db.namespace": "",
579584
"db.user": "default",
585+
"db.query.text": "CREATE TABLE test (x Int32) ENGINE = Memory",
580586
"server.address": "localhost",
581587
"server.port": 9000,
582588
"thread.id": mock.ANY,
@@ -591,6 +597,7 @@ def test_clickhouse_client_spans_with_pii(
591597
"db.system.name": "clickhouse",
592598
"db.namespace": "",
593599
"db.user": "default",
600+
"db.query.text": "INSERT INTO test (x) VALUES",
594601
"server.address": "localhost",
595602
"server.port": 9000,
596603
"thread.id": mock.ANY,
@@ -605,6 +612,7 @@ def test_clickhouse_client_spans_with_pii(
605612
"db.system.name": "clickhouse",
606613
"db.namespace": "",
607614
"db.user": "default",
615+
"db.query.text": "INSERT INTO test (x) VALUES",
608616
"server.address": "localhost",
609617
"server.port": 9000,
610618
},
@@ -617,6 +625,7 @@ def test_clickhouse_client_spans_with_pii(
617625
"db.system.name": "clickhouse",
618626
"db.namespace": "",
619627
"db.user": "default",
628+
"db.query.text": "SELECT sum(x) FROM test WHERE x > 150",
620629
"server.address": "localhost",
621630
"server.port": 9000,
622631
},
@@ -1012,6 +1021,7 @@ def test_clickhouse_dbapi_spans(
10121021
"db.driver.name": "clickhouse-driver",
10131022
"db.namespace": "",
10141023
"db.user": "default",
1024+
"db.query.text": "DROP TABLE IF EXISTS test",
10151025
"sentry.op": "db",
10161026
"sentry.origin": "auto.db.clickhouse_driver",
10171027
"server.address": "localhost",
@@ -1027,6 +1037,7 @@ def test_clickhouse_dbapi_spans(
10271037
"db.driver.name": "clickhouse-driver",
10281038
"db.namespace": "",
10291039
"db.user": "default",
1040+
"db.query.text": "CREATE TABLE test (x Int32) ENGINE = Memory",
10301041
"sentry.op": "db",
10311042
"sentry.origin": "auto.db.clickhouse_driver",
10321043
"server.address": "localhost",
@@ -1042,6 +1053,7 @@ def test_clickhouse_dbapi_spans(
10421053
"db.driver.name": "clickhouse-driver",
10431054
"db.namespace": "",
10441055
"db.user": "default",
1056+
"db.query.text": "INSERT INTO test (x) VALUES",
10451057
"sentry.op": "db",
10461058
"sentry.origin": "auto.db.clickhouse_driver",
10471059
"server.address": "localhost",
@@ -1057,6 +1069,7 @@ def test_clickhouse_dbapi_spans(
10571069
"db.driver.name": "clickhouse-driver",
10581070
"db.namespace": "",
10591071
"db.user": "default",
1072+
"db.query.text": "INSERT INTO test (x) VALUES",
10601073
"sentry.op": "db",
10611074
"sentry.origin": "auto.db.clickhouse_driver",
10621075
"server.address": "localhost",
@@ -1072,6 +1085,7 @@ def test_clickhouse_dbapi_spans(
10721085
"db.driver.name": "clickhouse-driver",
10731086
"db.namespace": "",
10741087
"db.user": "default",
1088+
"db.query.text": "SELECT sum(x) FROM test WHERE x > 150",
10751089
"sentry.op": "db",
10761090
"sentry.origin": "auto.db.clickhouse_driver",
10771091
"server.address": "localhost",
@@ -1266,6 +1280,7 @@ def test_clickhouse_dbapi_spans_with_pii(
12661280
"db.system.name": "clickhouse",
12671281
"db.namespace": "",
12681282
"db.user": "default",
1283+
"db.query.text": "DROP TABLE IF EXISTS test",
12691284
"sentry.op": "db",
12701285
"sentry.origin": "auto.db.clickhouse_driver",
12711286
"server.address": "localhost",
@@ -1280,6 +1295,7 @@ def test_clickhouse_dbapi_spans_with_pii(
12801295
"db.system.name": "clickhouse",
12811296
"db.namespace": "",
12821297
"db.user": "default",
1298+
"db.query.text": "CREATE TABLE test (x Int32) ENGINE = Memory",
12831299
"sentry.op": "db",
12841300
"sentry.origin": "auto.db.clickhouse_driver",
12851301
"server.address": "localhost",
@@ -1294,6 +1310,7 @@ def test_clickhouse_dbapi_spans_with_pii(
12941310
"db.system.name": "clickhouse",
12951311
"db.namespace": "",
12961312
"db.user": "default",
1313+
"db.query.text": "INSERT INTO test (x) VALUES",
12971314
"sentry.op": "db",
12981315
"sentry.origin": "auto.db.clickhouse_driver",
12991316
"server.address": "localhost",
@@ -1308,6 +1325,7 @@ def test_clickhouse_dbapi_spans_with_pii(
13081325
"db.system.name": "clickhouse",
13091326
"db.namespace": "",
13101327
"db.user": "default",
1328+
"db.query.text": "INSERT INTO test (x) VALUES",
13111329
"sentry.op": "db",
13121330
"sentry.origin": "auto.db.clickhouse_driver",
13131331
"server.address": "localhost",
@@ -1322,6 +1340,7 @@ def test_clickhouse_dbapi_spans_with_pii(
13221340
"db.system.name": "clickhouse",
13231341
"db.namespace": "",
13241342
"db.user": "default",
1343+
"db.query.text": "SELECT sum(x) FROM test WHERE x > 150",
13251344
"sentry.op": "db",
13261345
"sentry.origin": "auto.db.clickhouse_driver",
13271346
"server.address": "localhost",

0 commit comments

Comments
 (0)