diff --git a/osprofiler/profiler.py b/osprofiler/profiler.py index 1290f51..3748c16 100644 --- a/osprofiler/profiler.py +++ b/osprofiler/profiler.py @@ -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: diff --git a/osprofiler/sqlalchemy.py b/osprofiler/sqlalchemy.py index 2118adc..5e2fc3c 100644 --- a/osprofiler/sqlalchemy.py +++ b/osprofiler/sqlalchemy.py @@ -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 diff --git a/osprofiler/tests/unit/test_profiler.py b/osprofiler/tests/unit/test_profiler.py index 00dcd0f..fbe0ccd 100644 --- a/osprofiler/tests/unit/test_profiler.py +++ b/osprofiler/tests/unit/test_profiler.py @@ -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) diff --git a/osprofiler/tests/unit/test_sqlalchemy.py b/osprofiler/tests/unit/test_sqlalchemy.py index 0b20aa5..3ccf6bf 100644 --- a/osprofiler/tests/unit/test_sqlalchemy.py +++ b/osprofiler/tests/unit/test_sqlalchemy.py @@ -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),