From f523f0d3bd23aa53082321dac2258a597a704d79 Mon Sep 17 00:00:00 2001 From: Yurchenko Sergei Date: Mon, 25 Nov 2019 20:23:28 +0300 Subject: [PATCH 1/4] fix skipped None --- sentry_sdk/serializer.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/sentry_sdk/serializer.py b/sentry_sdk/serializer.py index 283ce0ead8..0e15340fce 100644 --- a/sentry_sdk/serializer.py +++ b/sentry_sdk/serializer.py @@ -275,19 +275,23 @@ def _serialize_node_impl( break str_k = text_type(k) - v = _serialize_node( - v, - segment=str_k, - should_repr_strings=should_repr_strings, - is_databag=is_databag, - remaining_depth=remaining_depth - 1 - if remaining_depth is not None - else None, - remaining_breadth=remaining_breadth, - ) - if v is not None: + if v is None: rv_dict[str_k] = v i += 1 + else: + v = _serialize_node( + v, + segment=str_k, + should_repr_strings=should_repr_strings, + is_databag=is_databag, + remaining_depth=remaining_depth - 1 + if remaining_depth is not None + else None, + remaining_breadth=remaining_breadth, + ) + if v is not None: + rv_dict[str_k] = v + i += 1 return rv_dict From 45395b78e9840d27cd82f4d3fd9a3a104a019f9c Mon Sep 17 00:00:00 2001 From: Yurchenko Sergei Date: Tue, 26 Nov 2019 13:54:11 +0300 Subject: [PATCH 2/4] fix mypy & tests --- sentry_sdk/integrations/logging.py | 1 + sentry_sdk/serializer.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sentry_sdk/integrations/logging.py b/sentry_sdk/integrations/logging.py index 53564fd528..6b37c8bfbe 100644 --- a/sentry_sdk/integrations/logging.py +++ b/sentry_sdk/integrations/logging.py @@ -135,6 +135,7 @@ def _logging_to_event_level(levelname): "tags", "thread", "threadName", + "stack_info", ) ) diff --git a/sentry_sdk/serializer.py b/sentry_sdk/serializer.py index 0e15340fce..e7d1b2ffc4 100644 --- a/sentry_sdk/serializer.py +++ b/sentry_sdk/serializer.py @@ -266,7 +266,7 @@ def _serialize_node_impl( # might mutate our dictionary while we're still iterating over it. obj = dict(iteritems(obj)) - rv_dict = {} + rv_dict = {} # type: Dict[str, Any] i = 0 for k, v in iteritems(obj): From 2ace8ce92ad7e42c5b7e37e2c306029d7d632028 Mon Sep 17 00:00:00 2001 From: Yurchenko Sergei Date: Tue, 26 Nov 2019 14:54:45 +0300 Subject: [PATCH 3/4] fix database tracing --- sentry_sdk/tracing.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sentry_sdk/tracing.py b/sentry_sdk/tracing.py index 0013d37277..d27123fd7a 100644 --- a/sentry_sdk/tracing.py +++ b/sentry_sdk/tracing.py @@ -414,7 +414,11 @@ def record_sql_queries( query = _format_sql(cursor, query) - data = {"db.params": params_list, "db.paramstyle": paramstyle} + data = {} + if params_list is not None: + data["db.params"] = params_list + if paramstyle is not None: + data["db.paramstyle"] = paramstyle if executemany: data["db.executemany"] = True From 23eef4d8c3b00b726616e73b29239614f9442293 Mon Sep 17 00:00:00 2001 From: Yurchenko Sergei Date: Tue, 26 Nov 2019 16:31:44 +0300 Subject: [PATCH 4/4] codereview fix --- sentry_sdk/serializer.py | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/sentry_sdk/serializer.py b/sentry_sdk/serializer.py index e7d1b2ffc4..85aa2f9c55 100644 --- a/sentry_sdk/serializer.py +++ b/sentry_sdk/serializer.py @@ -275,23 +275,18 @@ def _serialize_node_impl( break str_k = text_type(k) - if v is None: - rv_dict[str_k] = v - i += 1 - else: - v = _serialize_node( - v, - segment=str_k, - should_repr_strings=should_repr_strings, - is_databag=is_databag, - remaining_depth=remaining_depth - 1 - if remaining_depth is not None - else None, - remaining_breadth=remaining_breadth, - ) - if v is not None: - rv_dict[str_k] = v - i += 1 + v = _serialize_node( + v, + segment=str_k, + should_repr_strings=should_repr_strings, + is_databag=is_databag, + remaining_depth=remaining_depth - 1 + if remaining_depth is not None + else None, + remaining_breadth=remaining_breadth, + ) + rv_dict[str_k] = v + i += 1 return rv_dict