Skip to content

Commit 2c95ddf

Browse files
author
Peter Giacomo Lombardo
authored
Celery: Add tag parsing safety (#263)
1 parent a0d91b0 commit 2c95ddf

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

instana/instrumentation/celery/hooks.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
def add_broker_tags(span, broker_url):
1919
try:
2020
url = parse.urlparse(broker_url)
21-
span.set_tag("scheme", url.scheme)
21+
22+
# Add safety for edge case where scheme may not be a string
23+
url_scheme = str(url.scheme)
24+
span.set_tag("scheme", url_scheme)
2225

2326
if url.hostname is None:
2427
span.set_tag("host", 'localhost')
@@ -27,15 +30,15 @@ def add_broker_tags(span, broker_url):
2730

2831
if url.port is None:
2932
# Set default port if not specified
30-
if url.scheme == 'redis':
33+
if url_scheme == 'redis':
3134
span.set_tag("port", "6379")
32-
elif 'amqp' in url.scheme:
35+
elif 'amqp' in url_scheme:
3336
span.set_tag("port", "5672")
34-
elif 'sqs' in url.scheme:
37+
elif 'sqs' in url_scheme:
3538
span.set_tag("port", "443")
3639
else:
3740
span.set_tag("port", str(url.port))
38-
except:
41+
except Exception:
3942
logger.debug("Error parsing broker URL: %s" % broker_url, exc_info=True)
4043

4144
@signals.task_prerun.connect

0 commit comments

Comments
 (0)