From 348e9b43cafd17ae87ff6db686b5fd2c221211aa Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Wed, 14 Nov 2018 18:58:59 +0100 Subject: [PATCH 1/7] [cassandra] use query as resource for batched queries --- ddtrace/contrib/cassandra/session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddtrace/contrib/cassandra/session.py b/ddtrace/contrib/cassandra/session.py index 39271057ff7..c13fd441627 100644 --- a/ddtrace/contrib/cassandra/session.py +++ b/ddtrace/contrib/cassandra/session.py @@ -239,8 +239,8 @@ def _sanitize_query(span, query): # reset query if a string is available resource = getattr(query, "query_string", query) elif t == 'BatchStatement': - resource = 'BatchStatement' q = "; ".join(q[1] for q in query._statements_and_parameters[:2]) + resource = q span.set_tag("cassandra.query", q) span.set_metric("cassandra.batch_size", len(query._statements_and_parameters)) elif t == 'BoundStatement': From c0a3fd9a960342f66fa2e937762f6696944e1383 Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Thu, 15 Nov 2018 10:19:45 +0100 Subject: [PATCH 2/7] [cassandra] update batchstatement test --- tests/contrib/cassandra/test.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/contrib/cassandra/test.py b/tests/contrib/cassandra/test.py index a92519218da..f1269d60b58 100644 --- a/tests/contrib/cassandra/test.py +++ b/tests/contrib/cassandra/test.py @@ -264,7 +264,11 @@ def test_batch_statement(self): spans = writer.pop() eq_(len(spans), 1) s = spans[0] - eq_(s.resource, 'BatchStatement') + eq_( + s.resource, + """INSERT INTO test.person_write (name, age, description) VALUES ('Joe', 1, 'a'); """ + """INSERT INTO test.person_write (name, age, description) VALUES ('Jane', 2, 'b')""" + ) eq_(s.get_metric('cassandra.batch_size'), 2) assert 'test.person' in s.get_tag('cassandra.query') From e6aecc406651f23489d6aa8f280a64e69b4a632a Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Thu, 15 Nov 2018 15:05:18 +0100 Subject: [PATCH 3/7] [cassandra] remove query tag --- ddtrace/contrib/cassandra/session.py | 1 - tests/contrib/cassandra/test.py | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ddtrace/contrib/cassandra/session.py b/ddtrace/contrib/cassandra/session.py index c13fd441627..6f1bcbc5b34 100644 --- a/ddtrace/contrib/cassandra/session.py +++ b/ddtrace/contrib/cassandra/session.py @@ -241,7 +241,6 @@ def _sanitize_query(span, query): elif t == 'BatchStatement': q = "; ".join(q[1] for q in query._statements_and_parameters[:2]) resource = q - span.set_tag("cassandra.query", q) span.set_metric("cassandra.batch_size", len(query._statements_and_parameters)) elif t == 'BoundStatement': ps = getattr(query, 'prepared_statement', None) diff --git a/tests/contrib/cassandra/test.py b/tests/contrib/cassandra/test.py index f1269d60b58..15e84677111 100644 --- a/tests/contrib/cassandra/test.py +++ b/tests/contrib/cassandra/test.py @@ -266,11 +266,13 @@ def test_batch_statement(self): s = spans[0] eq_( s.resource, - """INSERT INTO test.person_write (name, age, description) VALUES ('Joe', 1, 'a'); """ - """INSERT INTO test.person_write (name, age, description) VALUES ('Jane', 2, 'b')""" + ( + 'INSERT INTO test.person_write (name, age, description) VALUES (\'Joe\', 1, \'a\'); ' + 'INSERT INTO test.person_write (name, age, description) VALUES (\'Jane\', 2, \'b\')' + ) ) eq_(s.get_metric('cassandra.batch_size'), 2) - assert 'test.person' in s.get_tag('cassandra.query') + assert 'test.person' in s.resource class TestCassPatchDefault(CassandraBase): From e03ddaca1ba303d0d0f6904d5b9c7abf06a65224 Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Tue, 20 Nov 2018 11:58:51 +0100 Subject: [PATCH 4/7] [cassandra] remove unneeded assertion --- tests/contrib/cassandra/test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/contrib/cassandra/test.py b/tests/contrib/cassandra/test.py index 15e84677111..3ebd915e109 100644 --- a/tests/contrib/cassandra/test.py +++ b/tests/contrib/cassandra/test.py @@ -272,7 +272,6 @@ def test_batch_statement(self): ) ) eq_(s.get_metric('cassandra.batch_size'), 2) - assert 'test.person' in s.resource class TestCassPatchDefault(CassandraBase): From c4754ab5b0a07ec65b6b1f5c99ed4d32b4b7467b Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Thu, 22 Nov 2018 11:40:44 +0100 Subject: [PATCH 5/7] [cassandra] add assertion for no query being set --- tests/contrib/cassandra/test.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/contrib/cassandra/test.py b/tests/contrib/cassandra/test.py index e3b3b0f8acc..9c861071324 100644 --- a/tests/contrib/cassandra/test.py +++ b/tests/contrib/cassandra/test.py @@ -293,6 +293,7 @@ def test_batch_statement(self): ) ) eq_(s.get_metric('cassandra.batch_size'), 2) + assert s.get_tag('cassandra.query') is None class TestCassPatchDefault(CassandraBase): From 872ad301048016dccac86f5752cc9a4adff94951 Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Mon, 26 Nov 2018 11:39:33 +0100 Subject: [PATCH 6/7] [cassandra] fix bad merge --- tests/contrib/cassandra/test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/contrib/cassandra/test.py b/tests/contrib/cassandra/test.py index 9c861071324..1454d5f383f 100644 --- a/tests/contrib/cassandra/test.py +++ b/tests/contrib/cassandra/test.py @@ -233,9 +233,9 @@ def test_unicode_batch_statement(self): spans = tracer.writer.pop() eq_(len(spans), 1) s = spans[0] - eq_(s.resource, 'BatchStatement') eq_(s.get_metric('cassandra.batch_size'), 1) - eq_(s.get_tag(cassx.QUERY), to_unicode('INSERT INTO test.person_write (name, age, description) VALUES (\'Joe\', 1, \'好\')')) + eq_(s.resource, to_unicode('INSERT INTO test.person_write (name, age, description) VALUES (\'Joe\', 1, \'好\')')) + eq_(s.get_tag(cassx.QUERY), None) def test_trace_error(self): session, tracer = self._traced_session() From d29e99e131591a31d4c8fd14a9a976bc0ebaf0ec Mon Sep 17 00:00:00 2001 From: kyle-verhoog Date: Mon, 3 Dec 2018 12:35:04 +0100 Subject: [PATCH 7/7] [cassandra] fix bad merge --- ddtrace/contrib/cassandra/session.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ddtrace/contrib/cassandra/session.py b/ddtrace/contrib/cassandra/session.py index bfc883711b6..e407b4a00d4 100644 --- a/ddtrace/contrib/cassandra/session.py +++ b/ddtrace/contrib/cassandra/session.py @@ -253,8 +253,7 @@ def _sanitize_query(span, query): # reset query if a string is available resource = getattr(query, "query_string", query) elif t == 'BatchStatement': - q = "; ".join(q[1] for q in query._statements_and_parameters[:2]) - span.set_tag("cassandra.query", q) + resource = '; '.join(q[1] for q in query._statements_and_parameters[:2]) span.set_metric("cassandra.batch_size", len(query._statements_and_parameters)) elif t == 'BoundStatement': ps = getattr(query, 'prepared_statement', None)