Skip to content

Commit 66b9e57

Browse files
authored
fix(ourlogs): Return the same format as /events & limit 1000 for trace-logs (#92580)
Events returns {"data": [...]} and allows 1000 per_page, if we also support that it'll be a drop-in replacement.
1 parent afae371 commit 66b9e57

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/sentry/api/endpoints/organization_trace_logs.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from sentry.models.organization import Organization
1313
from sentry.models.project import Project
1414
from sentry.organizations.services.organization import RpcOrganization
15-
from sentry.search.events.types import SnubaParams, SnubaRow
15+
from sentry.search.events.types import EventsResponse, SnubaParams
1616
from sentry.snuba import ourlogs
1717
from sentry.snuba.referrer import Referrer
1818
from sentry.utils.validators import INVALID_ID_DETAILS, is_event_id
@@ -56,7 +56,7 @@ def query_logs_data(
5656
orderby: list[str],
5757
offset: int,
5858
limit: int,
59-
) -> list[SnubaRow]:
59+
) -> EventsResponse:
6060
"""Queries log data for a given trace"""
6161
selected_columns = [
6262
"sentry.item_id",
@@ -84,7 +84,7 @@ def query_logs_data(
8484
limit=limit,
8585
referrer=Referrer.API_TRACE_VIEW_LOGS.value,
8686
)
87-
return results["data"]
87+
return results
8888

8989
def get(self, request: Request, organization: Organization) -> HttpResponse:
9090
try:
@@ -104,11 +104,12 @@ def get(self, request: Request, organization: Organization) -> HttpResponse:
104104

105105
update_snuba_params_with_timestamp(request, snuba_params)
106106

107-
def data_fn(offset: int, limit: int) -> list[SnubaRow]:
107+
def data_fn(offset: int, limit: int) -> EventsResponse:
108108
with handle_query_errors():
109109
return self.query_logs_data(snuba_params, trace_ids, orderby, offset, limit)
110110

111111
return self.paginate(
112112
request=request,
113113
paginator=GenericOffsetPaginator(data_fn=data_fn),
114+
max_per_page=1000,
114115
)

tests/snuba/api/endpoints/test_organization_trace_logs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def test_simple(self):
7676
format="json",
7777
)
7878
assert response.status_code == 200, response.content
79-
data = response.data
79+
data = response.data["data"]
8080
assert len(data) == 1
8181
log_data = data[0]
8282
assert log_data["project.id"] == self.project.id
@@ -105,7 +105,7 @@ def test_multiple_traces(self):
105105
format="json",
106106
)
107107
assert response.status_code == 200, response.content
108-
data = response.data
108+
data = response.data["data"]
109109
assert len(data) == 2
110110
log_data = data[0]
111111
assert log_data["project.id"] == self.project.id
@@ -138,7 +138,7 @@ def test_orderby(self):
138138
format="json",
139139
)
140140
assert response.status_code == 200, response.content
141-
data = response.data
141+
data = response.data["data"]
142142
assert len(data) == 2
143143
log_data = data[0]
144144
assert log_data["project.id"] == self.project.id
@@ -196,7 +196,7 @@ def test_cross_project_query(self):
196196
format="json",
197197
)
198198
assert response.status_code == 200, response.content
199-
data = response.data
199+
data = response.data["data"]
200200
assert len(data) == 2
201201
log_data = data[0]
202202
assert log_data["project.id"] == self.project.id

0 commit comments

Comments
 (0)