Skip to content

Conversation

@gggritso
Copy link
Member

Follow-up and complement to #80332. In short, SAMPLE wasn't enough. For longer ranges (i.e., >30d) fetching a list of project tags still times out.

In this PR, we're adding time range clamping for fetching tag keys. We will only ever query a maximum of N days (14 for now, but it's configurable). If someone chooses to get tags for the last 90 days, they will get tags from the last 14 days. If they need tags from November 5th - November 10th, we will fetch the range they asked for.

We think this is a reasonable compromise. When tags don't load at all, autocomplete stops working, which is very bad UX. Limiting the date range to 14 days is a tradeoff. The tags will succeed more often, but some tags might be missing.

Also, limiting the range should improve the cache hit ratio a bit, but we'll see.

@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Nov 27, 2024
@codecov

This comment was marked as outdated.

@gggritso gggritso marked this pull request as ready for review November 27, 2024 16:19
@gggritso gggritso requested review from a team as code owners November 27, 2024 16:19
assert isinstance(e, (FooBarError, APIException))


class ClampDateRangeTest(unittest.TestCase):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if max_timedelta is set to 0?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to allow 0 there, since I don't want to throw any exceptions. Added a test!

gggritso and others added 3 commits November 27, 2024 12:10
Co-authored-by: Tony Xiao <txiao@sentry.io>
Co-authored-by: Tony Xiao <txiao@sentry.io>
@gggritso
Copy link
Member Author

@Zylphrex took your suggestions, thanks!

@gggritso gggritso merged commit 198e038 into master Nov 27, 2024
49 of 50 checks passed
@gggritso gggritso deleted the feat/visibility/tag-key-timerange-clamping branch November 27, 2024 19:04
jan-auer added a commit that referenced this pull request Nov 28, 2024
* master: (219 commits)
  fix: flatten searchable os distribution fields (#81297)
  chore(profiling): Remvoe unused profile functions metrics hook (#81396)
  fix(prompts): Properly return false instead of undefined when prompt data is null (#81404)
  fix(insights): broken screen rendering doc link (#81257)
  fix(rpc): Only groupby when needed (#81403)
  feat(grouping): Tally frame types while building exception grouping components (#81341)
  fix(similarity): Limit > 30 system frame check to Java (#81385)
  feat(alerts): Adds EAP spans results consumer configs (#81365)
  ref(insights): simplify domain view header by using tab links (#81324)
  fix(issues): Add projectId for flag onboarding on click (#81387)
  chore(flamegraphs): Remove unused legacy flamegraph code path (#81381)
  fix(performance): No table overflow + glitchy behaviour (#81378)
  feat(widget-builder): Add feature flag for redesign (#81377)
  feat(profiling): Clean up continuous profiling ui and compat flags (#81260)
  feat(visibility): Clamp date range for `TagStore` queries (#81363)
  test(taskbroker): Add CLI command for sending taskbroker tasks (#81319)
  feat(dashboards): Add ff for favouriting dashboards (#81368)
  fix(trace) match event_id by error (#81370)
  fix(insights): add missing slash on performance moving banner (#81364)
  ref(models): Include event id in `Event` repr (#81345)
  ...
andrewshie-sentry pushed a commit that referenced this pull request Dec 2, 2024
Follow-up and complement to
#80332. In short, `SAMPLE`
wasn't enough. For longer ranges (i.e., >30d) fetching a list of project
tags still times out.

In this PR, we're adding time range clamping for fetching tag keys. We
will only ever query a maximum of N days (14 for now, but it's
configurable). If someone chooses to get tags for the last 90 days, they
will get tags from the last 14 days. If they need tags from November 5th
- November 10th, we will fetch the range they asked for.

We think this is a reasonable compromise. When tags don't load at all,
autocomplete stops working, which is very bad UX. Limiting the date
range to 14 days is a tradeoff. The tags will succeed more often, but
some tags might be missing.

Also, limiting the range should improve the cache hit ratio a bit, but
we'll see.

---------

Co-authored-by: Tony Xiao <txiao@sentry.io>
Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
@github-actions github-actions bot locked and limited conversation to collaborators Dec 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants