find_dropped_events doesn't say that buckets snap to whole intervals
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- documentation, tooling
Research direction
Start in packages/mcp-core/src/tools/catalog/find-dropped-events.ts: the interval hint text sits around lines 83-84 and 128-137, and the response mapping that omits meta.start/meta.end is at lines 212-217. Trace how the tool builds its result so a conditional note can be added when start/end fall off interval boundaries, then run the tool's tests to confirm the new hint and note appear.
Written by the indexing model from the issue text.
Description
Pattern: find_dropped_events with start/end and a coarse interval returns full-interval volumes for the first and last buckets, not volumes for the requested window. Nothing in the tool output or the description says so. Callers that sum the buckets for a fixed window overcount.
Reports: 1 (Sentry MCP user feedback MCP-SERVER-GQD, python caller, server 0.42.0). The caller worked around it with interval=1h and told its user about the alignment limit.
What happens
- The caller passes
start=<…T18:01Z>,end=<…T06:01Z>,interval=1d. The tool forwards them unchanged toGET /organizations/{org}/events-dropped/(sampled span for this caller's call). - Sentry builds the outcomes query through
QueryDefinition→get_constrained_date_range(getsentry/sentrysrc/sentry/snuba/sessions_v2.py:451-487), which callsto_intervals(src/sentry/snuba/metrics/utils.py:414-449). That floorsstartto the interval and roundsendup to the next boundary. With1d, the range becomes<day>T00:00Zto<last day + 1>T00:00Z. So the first and last buckets hold whole-day totals. - The endpoint's
meta.start/meta.endreport the requested range, not the aligned one (src/sentry/api/endpoints/organization_events_dropped.py:233-234). The MCP tool doesn't returnmeta.start/meta.endat all (packages/mcp-core/src/tools/catalog/find-dropped-events.ts:212-217). Only each bucket's ownstart/endgives this away. - The description (
find-dropped-events.ts:83-84,:128-137) tells callers to "use '1d' and sum the buckets" for longer ranges, without saying that the first and last buckets can cover time outside the window.
Suggested fix (MCP side)
- When
start/enddon't fall on interval boundaries, add a note that gives the aligned range that was counted and says the edge buckets are whole intervals. Suggest a finer interval (for example1h) for exact windows. - Add one line to the
intervalhint saying buckets align to whole intervals in UTC.
Possible Sentry API follow-up (not filed): meta.start/meta.end could report the aligned range that was actually queried. Owner: whoever owns organization_events_dropped.py. The MCP note above doesn't depend on that change.
Not this issue: the same report's search_errors time-range problem is getsentry/toolkit#2146, and its explanation mismatch is getsentry/toolkit#2147.
via automation evt_905b9c478746fd9deeb853f85ad7441b · Run ID dispatch_ebd17b42670133526c625ae4ebab5254.
--
- Dominant language
- TypeScript
- Stars
- 961
- Forks
- 179
- Avg merge
- 15h 33m
- Merged PRs (30d)
- 476
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/toolkit
-
CLI enhancement MCP
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
getsentry/toolkit#1908 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
getsentry/toolkit#1471 · 1 comment ·
Maintainers usually reply within 1 day
-
get_sentry_resource gives no guidance for Explore > Errors list URLsPossibly taken @sentry-junior claimed this today. OpenMCP mcp-feedback-pattern
Difficulty 2/5 1-3 hours Newbie friendliness 32/100
getsentry/toolkit#2278 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
getsentry/toolkit#2275 · 1 comment ·
Maintainers usually reply within 1 day
-
MCP mcp-feedback-pattern
Difficulty 3/5 1-2 days Newbie friendliness 68/100
getsentry/toolkit#2273 · 1 comment ·
Maintainers usually reply within 1 day
All issues in getsentry/toolkit
Similar issues
-
Add: BOM CineOpenapproved check:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug platform-android
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Termix-SSH/Mobile#146 · 1 comment ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
devswha/herdr-web-ui#3875 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100