From 98f856a590a49b1cfeed6975adc07b463e801e22 Mon Sep 17 00:00:00 2001 From: Pierre Massat Date: Wed, 26 Nov 2025 11:21:46 -0800 Subject: [PATCH 1/2] feat(eap): Support reading boolean attributes from response --- src/sentry/snuba/spans_rpc.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sentry/snuba/spans_rpc.py b/src/sentry/snuba/spans_rpc.py index 09bc4fe8bf5fda..fa53522767adad 100644 --- a/src/sentry/snuba/spans_rpc.py +++ b/src/sentry/snuba/spans_rpc.py @@ -13,7 +13,7 @@ from sentry_protos.snuba.v1.request_common_pb2 import PageToken, TraceItemType from sentry.exceptions import InvalidSearchQuery -from sentry.search.eap.constants import DOUBLE, INT, STRING, SUPPORTED_STATS_TYPES +from sentry.search.eap.constants import BOOLEAN, DOUBLE, INT, STRING, SUPPORTED_STATS_TYPES from sentry.search.eap.resolver import SearchResolver from sentry.search.eap.sampling import events_meta_from_rpc_request_meta from sentry.search.eap.spans.definitions import SPAN_DEFINITIONS @@ -240,8 +240,12 @@ def run_trace_query( span[resolved_column.public_alias] = attribute.value.val_str elif resolved_column.proto_definition.type == DOUBLE: span[resolved_column.public_alias] = attribute.value.val_double + elif resolved_column.proto_definition.type == BOOLEAN: + span[resolved_column.public_alias] = attribute.value.val_bool elif resolved_column.search_type == "boolean": - span[resolved_column.public_alias] = attribute.value.val_int == 1 + span[resolved_column.public_alias] = ( + attribute.value.val_bool or attribute.value.val_int == 1 + ) elif resolved_column.proto_definition.type == INT: span[resolved_column.public_alias] = attribute.value.val_int if resolved_column.public_alias == "project.id": From 70a9cc7a5ab25c368fb4d34f89f0a715c30eb45e Mon Sep 17 00:00:00 2001 From: Pierre Massat Date: Wed, 26 Nov 2025 15:43:21 -0800 Subject: [PATCH 2/2] Priorities --- src/sentry/snuba/spans_rpc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sentry/snuba/spans_rpc.py b/src/sentry/snuba/spans_rpc.py index fa53522767adad..3ac847d8c2369a 100644 --- a/src/sentry/snuba/spans_rpc.py +++ b/src/sentry/snuba/spans_rpc.py @@ -240,12 +240,13 @@ def run_trace_query( span[resolved_column.public_alias] = attribute.value.val_str elif resolved_column.proto_definition.type == DOUBLE: span[resolved_column.public_alias] = attribute.value.val_double - elif resolved_column.proto_definition.type == BOOLEAN: - span[resolved_column.public_alias] = attribute.value.val_bool elif resolved_column.search_type == "boolean": span[resolved_column.public_alias] = ( attribute.value.val_bool or attribute.value.val_int == 1 ) + elif resolved_column.proto_definition.type == BOOLEAN: + span[resolved_column.public_alias] = attribute.value.val_bool + elif resolved_column.proto_definition.type == INT: span[resolved_column.public_alias] = attribute.value.val_int if resolved_column.public_alias == "project.id":