find_dropped_events doesn't say that buckets snap to whole intervals
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Documentation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- documentation, tooling
Piste de recherche
Commence dans packages/mcp-core/src/tools/catalog/find-dropped-events.ts : le texte d'indication de interval se trouve autour des lignes 83-84 et 128-137, et le mapping de réponse qui omet meta.start/meta.end est aux lignes 212-217. Trace la façon dont l'outil construit son résultat afin qu'une note conditionnelle puisse être ajoutée lorsque start/end sortent des limites de l'intervalle, puis exécute les tests de l'outil pour confirmer que le nouvel indice et la note apparaissent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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.
--
- Langage dominant
- TypeScript
- Étoiles
- 961
- Forks
- 179
- Merge moyen
- 15 h 33 min
- PR mergées (30 j)
- 476
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getsentry/toolkit
-
CLI enhancement MCP
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
getsentry/toolkit#1908 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
getsentry/toolkit#1471 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
get_sentry_resource gives no guidance for Explore > Errors list URLsPeut-être pris @sentry-junior l’a pris aujourd’hui. OuverteMCP mcp-feedback-pattern
Difficulté 2/5 1-3 heures Accessibilité débutants 32/100
getsentry/toolkit#2278 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
getsentry/toolkit#2275 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
MCP mcp-feedback-pattern
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
getsentry/toolkit#2273 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getsentry/toolkit
Issues similaires
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AOSSIE-Org/DebateAI#801 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
ci: repo has no GitHub Actions workflow, so pushes and pull requests are never built or testedOuverteagents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Add: BOM CineOuverteapproved check:passed streams:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour