In case of an error, always add message

The Jaeger driver counts on this message to be in the error description.
It fails if the message is not present

Closes-Bug: 1804218
Change-Id: I08f8328700049d9a0d791b12375fe9a6e8a3948a
This commit is contained in:
Shoham Peller 2018-11-22 17:02:44 +02:00
parent 48a3de18f8
commit de5f31650e
4 changed files with 8 additions and 2 deletions

View File

@ -17,6 +17,7 @@ import collections
import datetime
import functools
import inspect
import six
import socket
import threading
@ -158,7 +159,10 @@ def trace(name, info=None, hide_args=False, hide_result=True,
start(name, info=info_)
result = f(*args, **kwargs)
except Exception as ex:
stop_info = {"etype": reflection.get_class_name(ex)}
stop_info = {
"etype": reflection.get_class_name(ex),
"message": six.text_type(ex)
}
raise
else:
if not hide_result:

View File

@ -105,6 +105,7 @@ def handle_error(exception_context):
info = {
"etype": exception_class_name,
"message": original_exception,
"db": {
"original_exception": original_exception,
"chained_exception": chained_exception

View File

@ -260,7 +260,7 @@ class TraceDecoratorTestCase(test.TestCase):
"name": "osprofiler.tests.unit.test_profiler.test_fn_exc"
}
}
expected_stop_info = {"etype": "ValueError"}
expected_stop_info = {"etype": "ValueError", "message": ""}
mock_start.assert_called_once_with("foo", info=expected_info)
mock_stop.assert_called_once_with(info=expected_stop_info)

View File

@ -62,6 +62,7 @@ class SqlalchemyTracingTestCase(test.TestCase):
sqlalchemy.handle_error(sqlalchemy_exception_ctx)
expected_info = {
"etype": "Exception",
"message": "error",
"db": {
"original_exception": str(original_exception),
"chained_exception": str(chained_exception),