Skip to content

Commit

Permalink
chore: refactor eap request transformation (#6841)
Browse files Browse the repository at this point in the history
I decided that it would make sense to put request transformation step at
a different spot, not logical difference just for clarity.
  • Loading branch information
kylemumma authored Jan 31, 2025
1 parent f7b5ac6 commit 6092eff
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
14 changes: 14 additions & 0 deletions snuba/web/rpc/v1/endpoint_trace_item_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
from snuba.web.rpc import RPCEndpoint, TraceItemDataResolver
from snuba.web.rpc.common.exceptions import BadSnubaRPCRequestException
from snuba.web.rpc.v1.resolvers import ResolverTraceItemTable
from snuba.web.rpc.v1.visitors.sparse_aggregate_attribute_transformer import (
SparseAggregateAttributeTransformer,
)

_GROUP_BY_DISALLOWED_COLUMNS = ["timestamp"]

Expand Down Expand Up @@ -69,6 +72,14 @@ def _validate_order_by(in_msg: TraceItemTableRequest) -> None:
)


def _transform_request(request: TraceItemTableRequest) -> TraceItemTableRequest:
"""
This function is for initial processing and transformation of the request after recieving it.
It is similar to the query processor step of the snql pipeline.
"""
return SparseAggregateAttributeTransformer(request).transform()


class EndpointTraceItemTable(
RPCEndpoint[TraceItemTableRequest, TraceItemTableResponse]
):
Expand Down Expand Up @@ -103,5 +114,8 @@ def _execute(self, in_msg: TraceItemTableRequest) -> TraceItemTableResponse:
raise BadSnubaRPCRequestException(
"This endpoint requires meta.trace_item_type to be set (are you requesting spans? logs?)"
)

in_msg = _transform_request(in_msg)

resolver = self.get_resolver(in_msg.meta.trace_item_type)
return resolver.resolve(in_msg)
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@
get_confidence_interval_column,
get_count_column,
)
from snuba.web.rpc.v1.visitors.sparse_aggregate_attribute_transformer import (
SparseAggregateAttributeTransformer,
)

_DEFAULT_ROW_LIMIT = 10_000

Expand Down Expand Up @@ -132,9 +129,6 @@ def _convert_order_by(


def _build_query(request: TraceItemTableRequest) -> Query:
# this is similar to the query processor step of the snql pipeline
request = SparseAggregateAttributeTransformer(request).transform()

# TODO: This is hardcoded still
entity = Entity(
key=EntityKey("eap_spans"),
Expand Down

0 comments on commit 6092eff

Please sign in to comment.