From b45dd5e2212d16aa080bd3d51136fef1e9e7486c Mon Sep 17 00:00:00 2001 From: Peter Giacomo Lombardo Date: Thu, 19 Mar 2020 19:06:06 +0100 Subject: [PATCH 1/5] Remove deprecated "error" tag --- instana/instrumentation/aiohttp/client.py | 5 +-- instana/instrumentation/aiohttp/server.py | 5 +-- instana/instrumentation/asynqp.py | 11 ++--- instana/instrumentation/cassandra_inst.py | 6 +-- instana/instrumentation/django/middleware.py | 11 +---- instana/instrumentation/flask/vanilla.py | 5 +-- instana/instrumentation/flask/with_blinker.py | 5 +-- instana/instrumentation/logging.py | 4 +- instana/instrumentation/sqlalchemy.py | 20 ++++----- instana/instrumentation/tornado/server.py | 5 +-- instana/instrumentation/urllib3.py | 9 +--- instana/instrumentation/webapp2_inst.py | 4 +- instana/span.py | 19 ++++++--- instana/wsgi.py | 4 +- tests/test_aiohttp.py | 42 ------------------- tests/test_asynqp.py | 17 -------- tests/test_cassandra-driver.py | 5 --- tests/test_couchbase.py | 36 ---------------- tests/test_django.py | 4 -- tests/test_flask.py | 34 --------------- tests/test_grpcio.py | 27 ------------ tests/test_lambda.py | 3 -- tests/test_mysql-python.py | 5 --- tests/test_mysqlclient.py | 5 --- tests/test_psycopg2.py | 5 --- tests/test_pymongo.py | 6 --- tests/test_pymysql.py | 6 --- tests/test_redis.py | 14 ------- tests/test_sqlalchemy.py | 7 ---- tests/test_sudsjurko.py | 4 -- tests/test_tornado_client.py | 21 ---------- tests/test_tornado_server.py | 25 ----------- tests/test_urllib3.py | 42 ------------------- tests/test_wsgi.py | 14 ------- 34 files changed, 39 insertions(+), 396 deletions(-) diff --git a/instana/instrumentation/aiohttp/client.py b/instana/instrumentation/aiohttp/client.py index 2b8fc6f9..683e0b28 100644 --- a/instana/instrumentation/aiohttp/client.py +++ b/instana/instrumentation/aiohttp/client.py @@ -47,10 +47,7 @@ async def stan_request_end(session, trace_config_ctx, params): scope.span.set_tag("http.%s" % custom_header, params.response.headers[custom_header]) if 500 <= params.response.status <= 599: - scope.span.set_tag("http.error", params.response.reason) - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec + 1) + scope.span.mark_as_errored({"http.error": params.response.reason}) scope.close() except Exception: diff --git a/instana/instrumentation/aiohttp/server.py b/instana/instrumentation/aiohttp/server.py index 032b5f23..6508ab90 100644 --- a/instana/instrumentation/aiohttp/server.py +++ b/instana/instrumentation/aiohttp/server.py @@ -42,10 +42,7 @@ async def stan_middleware(request, handler): if response is not None: # Mark 500 responses as errored if 500 <= response.status <= 511: - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - if ec == 0: - scope.span.set_tag("ec", ec + 1) + scope.span.mark_as_errored() scope.span.set_tag("http.status_code", response.status) async_tracer.inject(scope.span.context, opentracing.Format.HTTP_HEADERS, response.headers) diff --git a/instana/instrumentation/asynqp.py b/instana/instrumentation/asynqp.py index 0332f0e1..6a26328f 100644 --- a/instana/instrumentation/asynqp.py +++ b/instana/instrumentation/asynqp.py @@ -38,10 +38,7 @@ def publish_with_instana(wrapped, instance, argv, kwargs): rv = wrapped(*argv, **kwargs) except Exception as e: - scope.span.log_kv({'message': e}) - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec+1) + scope.span.mark_as_errored({'message': e}) raise else: return rv @@ -90,11 +87,9 @@ def callback_with_instana(*argv, **kwargs): original_callback(*argv, **kwargs) except Exception as e: - scope.span.log_kv({'message': e}) - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec+1) + scope.span.mark_as_errored({'message': e}) raise + return callback_with_instana cb = argv[0] diff --git a/instana/instrumentation/cassandra_inst.py b/instana/instrumentation/cassandra_inst.py index 0480bec9..77d41131 100644 --- a/instana/instrumentation/cassandra_inst.py +++ b/instana/instrumentation/cassandra_inst.py @@ -45,11 +45,7 @@ def cb_request_finish(results, span, fn): def cb_request_error(results, span, fn): collect_response(span, fn) - - span.set_tag("error", True) - ec = span.tags.get('ec', 0) - span.set_tag("ec", ec + 1) - span.set_tag("cassandra.error", results.message) + span.mark_as_errored("cassandra.error", results.message) span.finish() def request_init_with_instana(fn): diff --git a/instana/instrumentation/django/middleware.py b/instana/instrumentation/django/middleware.py index 0308f653..ebfef1fb 100644 --- a/instana/instrumentation/django/middleware.py +++ b/instana/instrumentation/django/middleware.py @@ -53,10 +53,7 @@ def process_response(self, request, response): try: if request.iscope is not None: if 500 <= response.status_code <= 511: - request.iscope.span.set_tag("error", True) - ec = request.iscope.span.tags.get('ec', 0) - if ec == 0: - request.iscope.span.set_tag("ec", ec+1) + request.iscope.span.mark_as_errored() request.iscope.span.set_tag(ext.HTTP_STATUS_CODE, response.status_code) tracer.inject(request.iscope.span.context, ot.Format.HTTP_HEADERS, response) @@ -72,11 +69,7 @@ def process_response(self, request, response): def process_exception(self, request, exception): if request.iscope is not None: - request.iscope.span.set_tag(ext.HTTP_STATUS_CODE, 500) - request.iscope.span.set_tag('http.error', str(exception)) - request.iscope.span.set_tag("error", True) - ec = request.iscope.span.tags.get('ec', 0) - request.iscope.span.set_tag("ec", ec+1) + request.iscope.span.mark_as_errored({ext.HTTP_STATUS_CODE: 500, 'http.error': str(exception)}) def load_middleware_wrapper(wrapped, instance, args, kwargs): diff --git a/instana/instrumentation/flask/vanilla.py b/instana/instrumentation/flask/vanilla.py index 1fa8b641..8e424d94 100644 --- a/instana/instrumentation/flask/vanilla.py +++ b/instana/instrumentation/flask/vanilla.py @@ -64,10 +64,7 @@ def after_request_with_instana(response): span = scope.span if 500 <= response.status_code <= 511: - span.set_tag("error", True) - ec = span.tags.get('ec', 0) - if ec == 0: - span.set_tag("ec", ec+1) + span.mark_as_errored() span.set_tag(ext.HTTP_STATUS_CODE, int(response.status_code)) tracer.inject(scope.span.context, opentracing.Format.HTTP_HEADERS, response.headers) diff --git a/instana/instrumentation/flask/with_blinker.py b/instana/instrumentation/flask/with_blinker.py index 40adec6f..5db1ed44 100644 --- a/instana/instrumentation/flask/with_blinker.py +++ b/instana/instrumentation/flask/with_blinker.py @@ -62,10 +62,7 @@ def request_finished_with_instana(sender, response, **extra): span = scope.span if 500 <= response.status_code <= 511: - span.set_tag("error", True) - ec = span.tags.get('ec', 0) - if ec == 0: - span.set_tag("ec", ec+1) + span.mark_as_errored() span.set_tag(ext.HTTP_STATUS_CODE, int(response.status_code)) tracer.inject(scope.span.context, opentracing.Format.HTTP_HEADERS, response.headers) diff --git a/instana/instrumentation/logging.py b/instana/instrumentation/logging.py index d143040b..8cfd2d6b 100644 --- a/instana/instrumentation/logging.py +++ b/instana/instrumentation/logging.py @@ -36,9 +36,7 @@ def log_with_instana(wrapped, instance, argv, kwargs): scope.span.log_kv({ 'parameters': parameters }) # extra tags for an error if argv[0] >= logging.ERROR: - scope.span.set_tag('error', True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag('ec', ec + 1) + scope.span.mark_as_errored() except Exception as e: logger.debug('Exception: %s', e, exc_info=True) finally: diff --git a/instana/instrumentation/sqlalchemy.py b/instana/instrumentation/sqlalchemy.py index 387099d6..52836acc 100644 --- a/instana/instrumentation/sqlalchemy.py +++ b/instana/instrumentation/sqlalchemy.py @@ -40,27 +40,25 @@ def receive_after_cursor_execute(**kw): context = kw['context'] if context is not None and hasattr(context, '_stan_scope'): - this_scope = context._stan_scope - if this_scope is not None: - this_scope.close() + scope = context._stan_scope + if scope is not None: + scope.close() @event.listens_for(Engine, 'dbapi_error', named=True) def receive_dbapi_error(**kw): context = kw['context'] if context is not None and hasattr(context, '_stan_scope'): - this_scope = context._stan_scope - if this_scope is not None: - this_scope.span.set_tag("error", True) - ec = this_scope.span.tags.get('ec', 0) - this_scope.span.set_tag("ec", ec+1) + scope = context._stan_scope + if scope is not None: + scope.span.mark_as_errored() if 'exception' in kw: e = kw['exception'] - this_scope.span.set_tag('sqlalchemy.err', str(e)) + scope.span.set_tag('sqlalchemy.err', str(e)) else: - this_scope.span.set_tag('sqlalchemy.err', "No dbapi error specified.") - this_scope.close() + scope.span.set_tag('sqlalchemy.err', "No dbapi error specified.") + scope.close() logger.debug("Instrumenting sqlalchemy") diff --git a/instana/instrumentation/tornado/server.py b/instana/instrumentation/tornado/server.py index 4f4bed7c..0c65968a 100644 --- a/instana/instrumentation/tornado/server.py +++ b/instana/instrumentation/tornado/server.py @@ -77,10 +77,7 @@ def on_finish_with_instana(wrapped, instance, argv, kwargs): # Mark 500 responses as errored if 500 <= status_code <= 511: - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - if ec == 0: - scope.span.set_tag("ec", ec + 1) + scope.span.mark_as_errored() scope.span.set_tag("http.status_code", status_code) scope.close() diff --git a/instana/instrumentation/urllib3.py b/instana/instrumentation/urllib3.py index b0743ac7..51a78dd3 100644 --- a/instana/instrumentation/urllib3.py +++ b/instana/instrumentation/urllib3.py @@ -54,9 +54,7 @@ def collect_response(scope, response): scope.span.set_tag("http.%s" % custom_header, response.headers[custom_header]) if 500 <= response.status <= 599: - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec + 1) + scope.span.mark_as_errored() except Exception: logger.debug("collect_response", exc_info=True) @@ -88,10 +86,7 @@ def urlopen_with_instana(wrapped, instance, args, kwargs): return response except Exception as e: - scope.span.log_kv({'message': e}) - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec+1) + scope.span.mark_as_errored({'message': e}) raise logger.debug("Instrumenting urllib3") diff --git a/instana/instrumentation/webapp2_inst.py b/instana/instrumentation/webapp2_inst.py index 16c93ba8..08f2662d 100644 --- a/instana/instrumentation/webapp2_inst.py +++ b/instana/instrumentation/webapp2_inst.py @@ -30,9 +30,7 @@ def new_start_response(status, headers, exc_info=None): sc = status.split(' ')[0] if 500 <= int(sc) <= 511: - scope.span.set_tag("error", True) - ec = scope.span.tags.get('ec', 0) - scope.span.set_tag("ec", ec+1) + scope.span.mark_as_errored() scope.span.set_tag(tags.HTTP_STATUS_CODE, sc) scope.close() diff --git a/instana/span.py b/instana/span.py index 032614f6..73fcb678 100644 --- a/instana/span.py +++ b/instana/span.py @@ -10,13 +10,23 @@ class InstanaSpan(BasicSpan): def finish(self, finish_time=None): super(InstanaSpan, self).finish(finish_time) + def mark_as_errored(self, tags = None): + try: + ec = self.tags.get('ec', 0) + self.set_tag('ec', ec + 1) + + if tags is not None and type(tags) is dict: + for key in tags: + self.set_tag(key, tags[key]) + except Exception: + logger.debug('span.mark_as_errored', exc_info=True) + raise + def log_exception(self, e): try: message = "" - self.set_tag("error", True) - ec = self.tags.get('ec', 0) - self.set_tag("ec", ec+1) + self.mark_as_errored() if hasattr(e, '__str__'): message = str(e) @@ -74,8 +84,7 @@ def __init__(self, span, source, **kwargs): self.ts = int(round(span.start_time * 1000)) self.d = int(round(span.duration * 1000)) self.f = source - self.ec = span.tags.pop("ec", None) - self.error = span.tags.pop("error", None) + self.ec = span.tags.pop('ec', None) if span.stack: self.stack = span.stack diff --git a/instana/wsgi.py b/instana/wsgi.py index b5285087..9e2990b0 100644 --- a/instana/wsgi.py +++ b/instana/wsgi.py @@ -26,9 +26,7 @@ def new_start_response(status, headers, exc_info=None): sc = status.split(' ')[0] if 500 <= int(sc) <= 511: - self.scope.span.set_tag("error", True) - ec = self.scope.span.tags.get('ec', 0) - self.scope.span.set_tag("ec", ec+1) + self.scope.span.mark_as_errored() self.scope.span.set_tag(tags.HTTP_STATUS_CODE, sc) self.scope.close() diff --git a/tests/test_aiohttp.py b/tests/test_aiohttp.py index 6543eac1..8759a0df 100644 --- a/tests/test_aiohttp.py +++ b/tests/test_aiohttp.py @@ -57,11 +57,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -111,13 +108,9 @@ async def test(): self.assertEqual(wsgi_span2.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(wsgi_span1.error) self.assertIsNone(wsgi_span1.ec) - self.assertFalse(wsgi_span2.error) self.assertIsNone(wsgi_span2.ec) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -164,11 +157,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertIsNone(wsgi_span.error) self.assertIsNone(wsgi_span.ec) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -215,11 +205,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aiohttp_span.error) self.assertEqual(aiohttp_span.ec, 1) - self.assertTrue(wsgi_span.error) self.assertEqual(wsgi_span.ec, 1) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -267,11 +254,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aiohttp_span.error) self.assertEqual(aiohttp_span.ec, 1) - self.assertTrue(wsgi_span.error) self.assertEqual(wsgi_span.ec, 1) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -319,11 +303,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -374,11 +355,8 @@ async def test(): self.assertEqual(wsgi_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -429,9 +407,7 @@ async def test(): self.assertEqual(aiohttp_span.p, test_span.s) # Error logging - self.assertTrue(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aiohttp_span.error) self.assertEqual(aiohttp_span.ec, 1) self.assertEqual("aiohttp-client", aiohttp_span.n) @@ -473,11 +449,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aioclient_span.error) self.assertIsNone(aioclient_span.ec) - self.assertFalse(aioserver_span.error) self.assertIsNone(aioserver_span.ec) self.assertEqual("aiohttp-server", aioserver_span.n) @@ -532,11 +505,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aioclient_span.error) self.assertIsNone(aioclient_span.ec) - self.assertFalse(aioserver_span.error) self.assertIsNone(aioserver_span.ec) self.assertEqual("aiohttp-server", aioserver_span.n) @@ -600,11 +570,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aioclient_span.error) self.assertIsNone(aioclient_span.ec) - self.assertFalse(aioserver_span.error) self.assertIsNone(aioserver_span.ec) self.assertEqual("aiohttp-server", aioserver_span.n) @@ -666,11 +633,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aioclient_span.error) self.assertIsNone(aioclient_span.ec) - self.assertFalse(aioserver_span.error) self.assertIsNone(aioserver_span.ec) self.assertEqual("aiohttp-server", aioserver_span.n) @@ -725,11 +689,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aioclient_span.error) self.assertEqual(aioclient_span.ec, 1) - self.assertTrue(aioserver_span.error) self.assertEqual(aioserver_span.ec, 1) self.assertEqual("aiohttp-server", aioserver_span.n) @@ -786,11 +747,8 @@ async def test(): self.assertEqual(aioserver_span.p, aioclient_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aioclient_span.error) self.assertEqual(aioclient_span.ec, 1) - self.assertTrue(aioserver_span.error) self.assertEqual(aioserver_span.ec, 1) self.assertEqual("aiohttp-server", aioserver_span.n) diff --git a/tests/test_asynqp.py b/tests/test_asynqp.py index c02bcaf2..f3a42a68 100644 --- a/tests/test_asynqp.py +++ b/tests/test_asynqp.py @@ -85,9 +85,7 @@ def test(): self.assertEqual(rabbitmq_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rabbitmq_span.error) self.assertIsNone(rabbitmq_span.ec) # Rabbitmq @@ -123,9 +121,7 @@ def test(): self.assertEqual(rabbitmq_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rabbitmq_span.error) self.assertIsNone(rabbitmq_span.ec) # Rabbitmq @@ -193,11 +189,8 @@ def publish(): self.assertEqual(get_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(publish_span.error) self.assertIsNone(publish_span.ec) - self.assertFalse(get_span.error) self.assertIsNone(get_span.ec) # Publish @@ -268,11 +261,8 @@ def test(): self.assertGreater(len(consume_span.stack), 0) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(consume_span.error) self.assertIsNone(consume_span.ec) - self.assertFalse(publish_span.error) self.assertIsNone(publish_span.ec) def test_consume_and_publish(self): @@ -340,13 +330,9 @@ def test(): self.assertGreater(len(consume1_span.stack), 0) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(consume1_span.error) self.assertIsNone(consume1_span.ec) - self.assertFalse(publish1_span.error) self.assertIsNone(publish1_span.ec) - self.assertFalse(publish2_span.error) self.assertIsNone(publish2_span.ec) def test_consume_with_ensure_future(self): @@ -427,9 +413,6 @@ def test(): self.assertGreater(len(consume_span.stack), 0) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(consume_span.error) self.assertIsNone(consume_span.ec) - self.assertFalse(publish_span.error) self.assertIsNone(publish_span.ec) diff --git a/tests/test_cassandra-driver.py b/tests/test_cassandra-driver.py index 9bb63719..94160704 100644 --- a/tests/test_cassandra-driver.py +++ b/tests/test_cassandra-driver.py @@ -83,7 +83,6 @@ def test_execute(self): self.assertEqual(cspan.p, test_span.s) self.assertIsNotNone(cspan.stack) - self.assertFalse(cspan.error) self.assertIsNone(cspan.ec) self.assertEqual(cspan.data["cassandra"]["cluster"], 'Test Cluster') @@ -117,7 +116,6 @@ def test_execute_async(self): self.assertEqual(cspan.p, test_span.s) self.assertIsNotNone(cspan.stack) - self.assertFalse(cspan.error) self.assertIsNone(cspan.ec) self.assertEqual(cspan.data["cassandra"]["cluster"], 'Test Cluster') @@ -155,7 +153,6 @@ def test_simple_statement(self): self.assertEqual(cspan.p, test_span.s) self.assertIsNotNone(cspan.stack) - self.assertFalse(cspan.error) self.assertIsNone(cspan.ec) self.assertEqual(cspan.data["cassandra"]["cluster"], 'Test Cluster') @@ -193,7 +190,6 @@ def test_execute_error(self): self.assertEqual(cspan.p, test_span.s) self.assertIsNotNone(cspan.stack) - self.assertTrue(cspan.error) self.assertEqual(cspan.ec, 1) self.assertEqual(cspan.data["cassandra"]["cluster"], 'Test Cluster') @@ -232,7 +228,6 @@ def test_prepared_statement(self): self.assertEqual(cspan.p, test_span.s) self.assertIsNotNone(cspan.stack) - self.assertFalse(cspan.error) self.assertIsNone(cspan.ec) self.assertEqual(cspan.data["cassandra"]["cluster"], 'Test Cluster') diff --git a/tests/test_couchbase.py b/tests/test_couchbase.py index 4440fd06..e4642d1f 100644 --- a/tests/test_couchbase.py +++ b/tests/test_couchbase.py @@ -68,7 +68,6 @@ def test_upsert(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -104,7 +103,6 @@ def test_upsert_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -176,7 +174,6 @@ def test_insert_existing(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertTrue(cb_span.error) self.assertEqual(cb_span.ec, 1) # Just search for the substring of the exception class found = cb_span.data["couchbase"]["error"].find("_KeyExistsError") @@ -221,7 +218,6 @@ def test_insert_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -256,7 +252,6 @@ def test_replace(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -294,7 +289,6 @@ def test_replace_non_existent(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertTrue(cb_span.error) self.assertEqual(cb_span.ec, 1) # Just search for the substring of the exception class found = cb_span.data["couchbase"]["error"].find("NotFoundError") @@ -336,7 +330,6 @@ def test_replace_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -368,7 +361,6 @@ def test_append(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -407,7 +399,6 @@ def test_append_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -439,7 +430,6 @@ def test_prepend(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -478,7 +468,6 @@ def test_prepend_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -509,7 +498,6 @@ def test_get(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -542,7 +530,6 @@ def test_rget(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertTrue(cb_span.error) self.assertEqual(cb_span.ec, 1) # Just search for the substring of the exception class found = cb_span.data["couchbase"]["error"].find("CouchbaseTransientError") @@ -582,7 +569,6 @@ def test_get_not_found(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertTrue(cb_span.error) self.assertEqual(cb_span.ec, 1) # Just search for the substring of the exception class found = cb_span.data["couchbase"]["error"].find("NotFoundError") @@ -620,7 +606,6 @@ def test_get_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -652,7 +637,6 @@ def test_touch(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -687,7 +671,6 @@ def test_touch_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -731,10 +714,8 @@ def test_lock(self): self.assertEqual(cb_upsert_span.p, test_span.s) self.assertIsNotNone(cb_lock_span.stack) - self.assertFalse(cb_lock_span.error) self.assertIsNone(cb_lock_span.ec) self.assertIsNotNone(cb_upsert_span.stack) - self.assertFalse(cb_upsert_span.error) self.assertIsNone(cb_upsert_span.ec) self.assertEqual(cb_lock_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -781,10 +762,8 @@ def test_lock_unlock(self): self.assertEqual(cb_unlock_span.p, test_span.s) self.assertIsNotNone(cb_lock_span.stack) - self.assertFalse(cb_lock_span.error) self.assertIsNone(cb_lock_span.ec) self.assertIsNotNone(cb_unlock_span.stack) - self.assertFalse(cb_unlock_span.error) self.assertIsNone(cb_unlock_span.ec) self.assertEqual(cb_lock_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -833,10 +812,8 @@ def test_lock_unlock_muilti(self): self.assertEqual(cb_unlock_span.p, test_span.s) self.assertIsNotNone(cb_lock_span.stack) - self.assertFalse(cb_lock_span.error) self.assertIsNone(cb_lock_span.ec) self.assertIsNotNone(cb_unlock_span.stack) - self.assertFalse(cb_unlock_span.error) self.assertIsNone(cb_unlock_span.ec) self.assertEqual(cb_lock_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -871,7 +848,6 @@ def test_remove(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -907,7 +883,6 @@ def test_remove_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -939,7 +914,6 @@ def test_counter(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -973,7 +947,6 @@ def test_counter_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1008,7 +981,6 @@ def test_mutate_in(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1043,7 +1015,6 @@ def test_lookup_in(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1073,7 +1044,6 @@ def test_stats(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1103,7 +1073,6 @@ def test_ping(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1133,7 +1102,6 @@ def test_diagnostics(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1165,7 +1133,6 @@ def test_observe(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1201,7 +1168,6 @@ def test_observe_multi(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1231,7 +1197,6 @@ def test_raw_n1ql_query(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) @@ -1262,7 +1227,6 @@ def test_n1ql_query(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) diff --git a/tests/test_django.py b/tests/test_django.py index 96f87d8b..1b5770bc 100644 --- a/tests/test_django.py +++ b/tests/test_django.py @@ -62,7 +62,6 @@ def test_basic_request(self): assert_equals(urllib3_span.p, test_span.s) assert_equals(django_span.p, urllib3_span.s) - assert_equals(None, django_span.error) assert_equals(None, django_span.ec) assert_equals('/', django_span.data["http"]["url"]) @@ -114,7 +113,6 @@ def test_request_with_error(self): assert_equals(django_span.p, urllib3_span.s) assert_equals(log_span.p, django_span.s) - assert_equals(True, django_span.error) assert_equals(1, django_span.ec) assert_equals('/cause_error', django_span.data["http"]["url"]) @@ -170,7 +168,6 @@ def test_complex_request(self): assert_equals(ot_span1.p, django_span.s) assert_equals(ot_span2.p, ot_span1.s) - assert_equals(None, django_span.error) assert_equals(None, django_span.ec) assert(django_span.stack) assert_equals(2, len(django_span.stack)) @@ -211,7 +208,6 @@ def test_custom_header_capture(self): assert_equals(urllib3_span.p, test_span.s) assert_equals(django_span.p, urllib3_span.s) - assert_equals(None, django_span.error) assert_equals(None, django_span.ec) assert(django_span.stack) assert_equals(2, len(django_span.stack)) diff --git a/tests/test_flask.py b/tests/test_flask.py index 1b7163a5..f13fb642 100644 --- a/tests/test_flask.py +++ b/tests/test_flask.py @@ -67,11 +67,8 @@ def test_get_request(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -140,13 +137,9 @@ def test_render_template(self): self.assertEqual(render_span.p, wsgi_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) - self.assertFalse(render_span.error) self.assertIsNone(render_span.ec) # render @@ -223,13 +216,9 @@ def test_render_template_string(self): self.assertEqual(render_span.p, wsgi_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) - self.assertFalse(render_span.error) self.assertIsNone(render_span.ec) # render @@ -304,11 +293,8 @@ def test_301(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertEqual(None, urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertEqual(None, wsgi_span.ec) # wsgi @@ -375,11 +361,8 @@ def test_404(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertEqual(None, urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertEqual(None, wsgi_span.ec) # wsgi @@ -446,11 +429,8 @@ def test_500(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) # wsgi @@ -521,11 +501,8 @@ def test_render_error(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) # error log @@ -587,13 +564,9 @@ def test_exception(self): self.assertEqual(log_span.p, wsgi_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) - self.assertTrue(log_span.error) self.assertEqual(1, log_span.ec) # error log @@ -670,13 +643,9 @@ def test_custom_exception_with_log(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) - self.assertTrue(log_span.error) self.assertEqual(1, log_span.ec) # error log @@ -747,11 +716,8 @@ def test_path_templates(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi diff --git a/tests/test_grpcio.py b/tests/test_grpcio.py index e166201b..54d84b31 100644 --- a/tests/test_grpcio.py +++ b/tests/test_grpcio.py @@ -77,11 +77,8 @@ def test_unary_one_to_one(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -141,11 +138,8 @@ def test_streaming_many_to_one(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -208,11 +202,8 @@ def test_streaming_one_to_many(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -274,11 +265,8 @@ def test_streaming_many_to_many(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -336,11 +324,8 @@ def test_unary_one_to_one_with_call(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -399,11 +384,8 @@ def test_streaming_many_to_one_with_call(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -466,11 +448,8 @@ def process_response(future): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -535,11 +514,8 @@ def process_response(future): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server @@ -601,11 +577,8 @@ def test_server_error(self): self.assertEqual(client_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(client_span.error) self.assertEqual(client_span.ec, 1) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) # rpc-server diff --git a/tests/test_lambda.py b/tests/test_lambda.py index f8b91c67..cb9376ad 100644 --- a/tests/test_lambda.py +++ b/tests/test_lambda.py @@ -294,7 +294,6 @@ def test_cloudwatch_logs_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) @@ -348,7 +347,6 @@ def test_s3_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) @@ -401,7 +399,6 @@ def test_sqs_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) diff --git a/tests/test_mysql-python.py b/tests/test_mysql-python.py index 14a151b2..4dab3d61 100644 --- a/tests/test_mysql-python.py +++ b/tests/test_mysql-python.py @@ -93,7 +93,6 @@ def test_basic_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -122,7 +121,6 @@ def test_basic_insert(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -151,7 +149,6 @@ def test_executemany(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -178,7 +175,6 @@ def test_call_proc(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -213,7 +209,6 @@ def test_error_capture(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(True, db_span.error) assert_equals(1, db_span.ec) assert_equals(db_span.data["mysql"]["error"], '(1146, "Table \'%s.blah\' doesn\'t exist")' % testenv['mysql_db']) diff --git a/tests/test_mysqlclient.py b/tests/test_mysqlclient.py index 7c292fd0..831f25e0 100644 --- a/tests/test_mysqlclient.py +++ b/tests/test_mysqlclient.py @@ -93,7 +93,6 @@ def test_basic_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -122,7 +121,6 @@ def test_basic_insert(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -151,7 +149,6 @@ def test_executemany(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -178,7 +175,6 @@ def test_call_proc(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -213,7 +209,6 @@ def test_error_capture(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(True, db_span.error) assert_equals(1, db_span.ec) assert_equals(db_span.data["mysql"]["error"], '(1146, "Table \'%s.blah\' doesn\'t exist")' % testenv['mysql_db']) diff --git a/tests/test_psycopg2.py b/tests/test_psycopg2.py index 5096ffd6..367174dd 100644 --- a/tests/test_psycopg2.py +++ b/tests/test_psycopg2.py @@ -92,7 +92,6 @@ def test_basic_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "postgres") @@ -116,7 +115,6 @@ def test_basic_insert(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "postgres") @@ -143,7 +141,6 @@ def test_executemany(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "postgres") @@ -170,7 +167,6 @@ def test_call_proc(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "postgres") @@ -201,7 +197,6 @@ def test_error_capture(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(True, db_span.error) assert_equals(1, db_span.ec) assert_equals(db_span.data["pg"]["error"], 'relation "blah" does not exist\nLINE 1: SELECT * from blah\n ^\n') diff --git a/tests/test_pymongo.py b/tests/test_pymongo.py index c34d29bc..1832ba98 100644 --- a/tests/test_pymongo.py +++ b/tests/test_pymongo.py @@ -45,7 +45,6 @@ def test_successful_find_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") @@ -71,7 +70,6 @@ def test_successful_insert_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") @@ -96,7 +94,6 @@ def test_successful_update_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") @@ -130,7 +127,6 @@ def test_successful_delete_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") @@ -159,7 +155,6 @@ def test_successful_aggregate_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") @@ -191,7 +186,6 @@ def test_successful_map_reduce_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_false(db_span.error) assert_is_none(db_span.ec) assert_equals(db_span.n, "mongo") diff --git a/tests/test_pymysql.py b/tests/test_pymysql.py index d291823a..f821807f 100644 --- a/tests/test_pymysql.py +++ b/tests/test_pymysql.py @@ -89,7 +89,6 @@ def test_basic_query(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -117,7 +116,6 @@ def test_query_with_params(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -146,7 +144,6 @@ def test_basic_insert(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -175,7 +172,6 @@ def test_executemany(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -202,7 +198,6 @@ def test_call_proc(self): assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(None, db_span.error) assert_equals(None, db_span.ec) assert_equals(db_span.n, "mysql") @@ -236,7 +231,6 @@ def test_error_capture(self): assert_equals("test", test_span.data["sdk"]["name"]) assert_equals(test_span.t, db_span.t) assert_equals(db_span.p, test_span.s) - assert_equals(True, db_span.error) assert_equals(1, db_span.ec) if sys.version_info[0] >= 3: diff --git a/tests/test_redis.py b/tests/test_redis.py index 7ec3a24e..b033270a 100644 --- a/tests/test_redis.py +++ b/tests/test_redis.py @@ -58,13 +58,9 @@ def test_set_get(self): self.assertEqual(rs3_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rs1_span.error) self.assertIsNone(rs1_span.ec) - self.assertFalse(rs2_span.error) self.assertIsNone(rs2_span.ec) - self.assertFalse(rs3_span.error) self.assertIsNone(rs3_span.ec) # Redis span 1 @@ -139,13 +135,9 @@ def test_set_incr_get(self): self.assertEqual(rs3_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rs1_span.error) self.assertIsNone(rs1_span.ec) - self.assertFalse(rs2_span.error) self.assertIsNone(rs2_span.ec) - self.assertFalse(rs3_span.error) self.assertIsNone(rs3_span.ec) # Redis span 1 @@ -220,13 +212,9 @@ def test_old_redis_client(self): self.assertEqual(rs3_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rs1_span.error) self.assertIsNone(rs1_span.ec) - self.assertFalse(rs2_span.error) self.assertIsNone(rs2_span.ec) - self.assertFalse(rs3_span.error) self.assertIsNone(rs3_span.ec) # Redis span 1 @@ -297,9 +285,7 @@ def test_pipelined_requests(self): self.assertEqual(rs1_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(rs1_span.error) self.assertIsNone(rs1_span.ec) # Redis span 1 diff --git a/tests/test_sqlalchemy.py b/tests/test_sqlalchemy.py index 6318f9db..181c4e19 100644 --- a/tests/test_sqlalchemy.py +++ b/tests/test_sqlalchemy.py @@ -66,9 +66,7 @@ def test_session_add(self): self.assertEqual(sql_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(sql_span.error) self.assertIsNone(sql_span.ec) # SQLAlchemy span @@ -110,11 +108,8 @@ def test_transaction(self): self.assertEqual(sql_span1.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(sql_span0.error) self.assertIsNone(sql_span0.ec) - self.assertFalse(sql_span1.error) self.assertIsNone(sql_span1.ec) # SQLAlchemy span0 @@ -168,9 +163,7 @@ def test_error_logging(self): self.assertEqual(sql_span.p, test_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(sql_span.error) self.assertIs(sql_span.ec, 1) # SQLAlchemy span diff --git a/tests/test_sudsjurko.py b/tests/test_sudsjurko.py index 8c32fcf3..b604a10b 100644 --- a/tests/test_sudsjurko.py +++ b/tests/test_sudsjurko.py @@ -51,7 +51,6 @@ def test_basic_request(self): assert_equals(wsgi_span.t, soap_span.t) assert_equals(wsgi_span.p, soap_span.s) - assert_equals(None, soap_span.error) assert_equals(None, soap_span.ec) assert_equals('ask_question', soap_span.data["soap"]["action"]) @@ -81,7 +80,6 @@ def test_server_exception(self): assert_equals(wsgi_span.t, soap_span.t) assert_equals(wsgi_span.p, soap_span.s) - assert_equals(True, soap_span.error) assert_equals(1, soap_span.ec) assert_equals(u"Server raised fault: 'Internal Error'", soap_span.data["http"]["error"]) assert_equals('server_exception', soap_span.data["soap"]["action"]) @@ -110,7 +108,6 @@ def test_server_fault(self): assert_equals(wsgi_span.t, soap_span.t) assert_equals(wsgi_span.p, soap_span.s) - assert_equals(True, soap_span.error) assert_equals(1, soap_span.ec) assert_equals(u"Server raised fault: 'Server side fault example.'", soap_span.data["http"]["error"]) assert_equals('server_fault', soap_span.data["soap"]["action"]) @@ -140,7 +137,6 @@ def test_client_fault(self): assert_equals(wsgi_span.t, soap_span.t) assert_equals(wsgi_span.p, soap_span.s) - assert_equals(True, soap_span.error) assert_equals(1, soap_span.ec) assert_equals(u"Server raised fault: 'Client side fault example'", soap_span.data["http"]["error"]) assert_equals('client_fault', soap_span.data["soap"]["action"]) diff --git a/tests/test_tornado_client.py b/tests/test_tornado_client.py index c67f3b53..daa2eff2 100644 --- a/tests/test_tornado_client.py +++ b/tests/test_tornado_client.py @@ -59,11 +59,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) self.assertEqual("tornado-server", server_span.n) @@ -119,11 +116,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) self.assertEqual("tornado-server", server_span.n) @@ -183,11 +177,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) self.assertEqual("tornado-server", server_span.n) @@ -255,11 +246,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(client_span.error) self.assertEqual(client_span.ec, 1) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) self.assertEqual("tornado-server", server_span.n) @@ -318,11 +306,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(client_span.error) self.assertEqual(client_span.ec, 1) - self.assertTrue(server_span.error) self.assertEqual(server_span.ec, 1) self.assertEqual("tornado-server", server_span.n) @@ -381,11 +366,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(client_span.error) self.assertEqual(client_span.ec, 1) - self.assertTrue(server_span.error) self.assertEqual(server_span.ec, 1) self.assertEqual("tornado-server", server_span.n) @@ -441,11 +423,8 @@ async def test(): self.assertEqual(server_span.p, client_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(client_span.error) self.assertIsNone(client_span.ec) - self.assertFalse(server_span.error) self.assertIsNone(server_span.ec) self.assertEqual("tornado-server", server_span.n) diff --git a/tests/test_tornado_server.py b/tests/test_tornado_server.py index a63025b8..60c58cb0 100644 --- a/tests/test_tornado_server.py +++ b/tests/test_tornado_server.py @@ -74,11 +74,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(200, tornado_span.data["http"]["status"]) @@ -141,11 +138,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(200, tornado_span.data["http"]["status"]) @@ -214,13 +208,9 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_301_span.error) self.assertIsNone(tornado_301_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(301, tornado_301_span.data["http"]["status"]) @@ -289,11 +279,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(405, tornado_span.data["http"]["status"]) @@ -355,11 +342,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aiohttp_span.error) self.assertEqual(aiohttp_span.ec, 1) - self.assertTrue(tornado_span.error) self.assertEqual(tornado_span.ec, 1) self.assertEqual(500, tornado_span.data["http"]["status"]) @@ -422,11 +406,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(aiohttp_span.error) self.assertEqual(aiohttp_span.ec, 1) - self.assertTrue(tornado_span.error) self.assertEqual(tornado_span.ec, 1) self.assertEqual(504, tornado_span.data["http"]["status"]) @@ -489,11 +470,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(200, tornado_span.data["http"]["status"]) @@ -563,11 +541,8 @@ async def test(): self.assertEqual(tornado_span.p, aiohttp_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(aiohttp_span.error) self.assertIsNone(aiohttp_span.ec) - self.assertFalse(tornado_span.error) self.assertIsNone(tornado_span.ec) self.assertEqual(200, tornado_span.data["http"]["status"]) diff --git a/tests/test_urllib3.py b/tests/test_urllib3.py index 9667d989..f60d4ea5 100644 --- a/tests/test_urllib3.py +++ b/tests/test_urllib3.py @@ -51,11 +51,8 @@ def test_get_request(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -102,11 +99,8 @@ def test_get_request_with_query(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -154,11 +148,8 @@ def test_get_request_with_alt_query(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -206,11 +197,8 @@ def test_put_request(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -264,15 +252,10 @@ def test_301_redirect(self): self.assertEqual(wsgi_span2.p, urllib3_span2.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span1.error) self.assertIsNone(urllib3_span1.ec) - self.assertFalse(wsgi_span1.error) self.assertIsNone(wsgi_span1.ec) - self.assertFalse(urllib3_span2.error) self.assertIsNone(urllib3_span2.ec) - self.assertFalse(wsgi_span2.error) self.assertIsNone(wsgi_span2.ec) # wsgi @@ -343,15 +326,10 @@ def test_302_redirect(self): self.assertEqual(wsgi_span2.p, urllib3_span2.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span1.error) self.assertIsNone(urllib3_span1.ec) - self.assertFalse(wsgi_span1.error) self.assertIsNone(wsgi_span1.ec) - self.assertFalse(urllib3_span2.error) self.assertIsNone(urllib3_span2.ec) - self.assertFalse(wsgi_span2.error) self.assertIsNone(wsgi_span2.ec) # wsgi @@ -416,11 +394,8 @@ def test_5xx_request(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) # wsgi @@ -471,11 +446,8 @@ def test_exception_logging(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) - self.assertTrue(wsgi_span.error) self.assertEqual(1, wsgi_span.ec) # wsgi @@ -533,9 +505,7 @@ def test_client_error(self): self.assertTrue(len(urllib3_span.stack) > 1) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertTrue(urllib3_span.error) self.assertEqual(1, urllib3_span.ec) def test_requestspkg_get(self): @@ -562,11 +532,8 @@ def test_requestspkg_get(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -616,11 +583,8 @@ def test_requestspkg_get_with_custom_headers(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -666,11 +630,8 @@ def test_requestspkg_put(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -720,11 +681,8 @@ def test_response_header_capture(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi diff --git a/tests/test_wsgi.py b/tests/test_wsgi.py index d3a036d7..6cd8f40c 100644 --- a/tests/test_wsgi.py +++ b/tests/test_wsgi.py @@ -68,11 +68,8 @@ def test_get_request(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -131,15 +128,10 @@ def test_complex_request(self): self.assertEqual(spacedust_span.p, asteroid_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) - self.assertFalse(asteroid_span.error) self.assertIsNone(asteroid_span.ec) - self.assertFalse(spacedust_span.error) self.assertIsNone(spacedust_span.ec) # wsgi @@ -199,11 +191,8 @@ def test_custom_header_capture(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi @@ -261,11 +250,8 @@ def test_secret_scrubbing(self): self.assertEqual(wsgi_span.p, urllib3_span.s) # Error logging - self.assertFalse(test_span.error) self.assertIsNone(test_span.ec) - self.assertFalse(urllib3_span.error) self.assertIsNone(urllib3_span.ec) - self.assertFalse(wsgi_span.error) self.assertIsNone(wsgi_span.ec) # wsgi From 68abdfd4c021afd735d8a09f00e7aaea6977f896 Mon Sep 17 00:00:00 2001 From: Peter Giacomo Lombardo Date: Thu, 19 Mar 2020 19:12:25 +0100 Subject: [PATCH 2/5] Fix parameter --- instana/instrumentation/cassandra_inst.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instana/instrumentation/cassandra_inst.py b/instana/instrumentation/cassandra_inst.py index 77d41131..6f405473 100644 --- a/instana/instrumentation/cassandra_inst.py +++ b/instana/instrumentation/cassandra_inst.py @@ -45,7 +45,7 @@ def cb_request_finish(results, span, fn): def cb_request_error(results, span, fn): collect_response(span, fn) - span.mark_as_errored("cassandra.error", results.message) + span.mark_as_errored({"cassandra.error": results.message}) span.finish() def request_init_with_instana(fn): From 07a0bcec170659dac721795a8d44add1f157ca0b Mon Sep 17 00:00:00 2001 From: Peter Giacomo Lombardo Date: Thu, 19 Mar 2020 19:37:02 +0100 Subject: [PATCH 3/5] Straglers --- tests/test_couchbase.py | 1 - tests/test_lambda.py | 3 --- 2 files changed, 4 deletions(-) diff --git a/tests/test_couchbase.py b/tests/test_couchbase.py index e4642d1f..8ab7eaf8 100644 --- a/tests/test_couchbase.py +++ b/tests/test_couchbase.py @@ -137,7 +137,6 @@ def test_insert_new(self): self.assertEqual(cb_span.p, test_span.s) self.assertIsNotNone(cb_span.stack) - self.assertFalse(cb_span.error) self.assertIsNone(cb_span.ec) self.assertEqual(cb_span.data["couchbase"]["hostname"], "%s:8091" % testenv['couchdb_host']) diff --git a/tests/test_lambda.py b/tests/test_lambda.py index cb9376ad..5e34c716 100644 --- a/tests/test_lambda.py +++ b/tests/test_lambda.py @@ -137,7 +137,6 @@ def test_api_gateway_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) @@ -190,7 +189,6 @@ def test_application_lb_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) @@ -242,7 +240,6 @@ def test_cloudwatch_trigger_tracing(self): span.f) self.assertIsNone(span.ec) - self.assertIsNone(span.error) self.assertIsNone(span.data['lambda']['error']) self.assertEqual('arn:aws:lambda:us-east-2:12345:function:TestPython:1', span.data['lambda']['arn']) From 4ca7cf1b198aac0ec4e2a32d92b5d360a8704b5d Mon Sep 17 00:00:00 2001 From: Peter Giacomo Lombardo Date: Thu, 19 Mar 2020 21:13:14 +0100 Subject: [PATCH 4/5] Better Django exception logging --- instana/instrumentation/django/middleware.py | 4 +-- instana/recorder.py | 4 +-- instana/span.py | 28 +++++++++++++++++--- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/instana/instrumentation/django/middleware.py b/instana/instrumentation/django/middleware.py index ebfef1fb..1717935b 100644 --- a/instana/instrumentation/django/middleware.py +++ b/instana/instrumentation/django/middleware.py @@ -53,7 +53,7 @@ def process_response(self, request, response): try: if request.iscope is not None: if 500 <= response.status_code <= 511: - request.iscope.span.mark_as_errored() + request.iscope.span.assure_errored() request.iscope.span.set_tag(ext.HTTP_STATUS_CODE, response.status_code) tracer.inject(request.iscope.span.context, ot.Format.HTTP_HEADERS, response) @@ -69,7 +69,7 @@ def process_response(self, request, response): def process_exception(self, request, exception): if request.iscope is not None: - request.iscope.span.mark_as_errored({ext.HTTP_STATUS_CODE: 500, 'http.error': str(exception)}) + request.iscope.span.log_exception(exception) def load_middleware_wrapper(wrapped, instance, args, kwargs): diff --git a/instana/recorder.py b/instana/recorder.py index 334d4bf9..ed82aeb4 100644 --- a/instana/recorder.py +++ b/instana/recorder.py @@ -20,8 +20,8 @@ class StandardRecorder(object): THREAD_NAME = "Instana Span Reporting" REGISTERED_SPANS = ("aiohttp-client", "aiohttp-server", "aws.lambda.entry", "cassandra", "couchbase", - "django", "log","memcache", "mongo", "mysql", "postgres", "pymongo", "rabbitmq", "redis", "render", - "rpc-client", "rpc-server", "sqlalchemy", "soap", "tornado-client", "tornado-server", + "django", "log", "memcache", "mongo", "mysql", "postgres", "pymongo", "rabbitmq", "redis", + "render", "rpc-client", "rpc-server", "sqlalchemy", "soap", "tornado-client", "tornado-server", "urllib3", "wsgi") # Recorder thread for collection/reporting of spans diff --git a/instana/span.py b/instana/span.py index 73fcb678..86fc8cfd 100644 --- a/instana/span.py +++ b/instana/span.py @@ -11,6 +11,11 @@ def finish(self, finish_time=None): super(InstanaSpan, self).finish(finish_time) def mark_as_errored(self, tags = None): + """ + Mark this span as errored. + + @param tags: optional tags to add to the span + """ try: ec = self.tags.get('ec', 0) self.set_tag('ec', ec + 1) @@ -20,9 +25,26 @@ def mark_as_errored(self, tags = None): self.set_tag(key, tags[key]) except Exception: logger.debug('span.mark_as_errored', exc_info=True) - raise + + def assure_errored(self): + """ + Make sure that this span is marked as errored. + @return: None + """ + try: + ec = self.tags.get('ec', None) + if ec is None or ec == 0: + self.set_tag('ec', 1) + except Exception: + logger.debug('span.assure_errored', exc_info=True) def log_exception(self, e): + """ + Log an exception onto this span. This will log pertinent info from the exception and + assure that this span is marked as errored. + + @param e: the exception to log + """ try: message = "" @@ -39,7 +61,7 @@ def log_exception(self, e): self.set_tag('mysql.error', message) elif self.operation_name == "postgres": self.set_tag('pg.error', message) - elif self.operation_name == "soap": + elif self.operation_name in RegisteredSpan.HTTP_SPANS: self.set_tag('http.error', message) else: self.log_kv({'message': message}) @@ -49,7 +71,7 @@ def log_exception(self, e): def collect_logs(self): """ - Collect up log data and feed it to the Instana brain. + Collect up log data and feed it to the Instana brain. :param span: The span to search for logs in :return: Logs ready for consumption by the Instana brain. From f2db2d8324f8e3cd53400e460ef0c9cc73652b36 Mon Sep 17 00:00:00 2001 From: Peter Giacomo Lombardo Date: Fri, 20 Mar 2020 10:56:19 +0100 Subject: [PATCH 5/5] Better exception processing --- instana/span.py | 5 +++-- tests/test_flask.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/instana/span.py b/instana/span.py index 86fc8cfd..47162305 100644 --- a/instana/span.py +++ b/instana/span.py @@ -47,13 +47,14 @@ def log_exception(self, e): """ try: message = "" - self.mark_as_errored() - if hasattr(e, '__str__'): + if hasattr(e, '__str__') and len(str(e)) > 0: message = str(e) elif hasattr(e, 'message') and e.message is not None: message = e.message + else: + message = repr(e) if self.operation_name in ['rpc-server', 'rpc-client']: self.set_tag('rpc.error', message) diff --git a/tests/test_flask.py b/tests/test_flask.py index f13fb642..47d6a7d1 100644 --- a/tests/test_flask.py +++ b/tests/test_flask.py @@ -659,7 +659,7 @@ def test_custom_exception_with_log(self): self.assertEqual('/exception-invalid-usage', wsgi_span.data["http"]["url"]) self.assertEqual('GET', wsgi_span.data["http"]["method"]) self.assertEqual(502, wsgi_span.data["http"]["status"]) - self.assertIsNone(wsgi_span.data["http"]["error"]) + self.assertEqual('Simulated custom exception', wsgi_span.data["http"]["error"]) self.assertIsNotNone(wsgi_span.stack) self.assertEqual(2, len(wsgi_span.stack))