Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ref(discover2) Test out sampling on tag values #16387

Merged
merged 2 commits into from
Jan 10, 2020

Conversation

markstory
Copy link
Member

The facets endpoint is still not fast. I want to see what kind of results can be obtained if we aggressively sample tag values. If this yields acceptable performance I want to try scaling the sampling rate based on the data volume so that we can better balance accuracy and performance.

The facets endpoint is still not fast. I want to see what kind of
results can be obtained if we aggressively sample tag values. If this
yields acceptable performance I want to try scaling the sampling rate
based on the data volume so that we can better balance accurracy and
performance.
@markstory markstory requested a review from a team January 10, 2020 16:35
Comment on lines 479 to 481
turbo_values = False
if key_names["data"][0]["count"] > 10000:
turbo_values = True
Copy link
Member

Choose a reason for hiding this comment

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

turbo_values = key_names["data"][0]["count"] > 10000

@markstory markstory merged commit a816d8d into master Jan 10, 2020
@markstory markstory deleted the ref/discover-facet-perf branch January 10, 2020 17:37
matejminar added a commit that referenced this pull request Jan 13, 2020
* ref(ts): Convert <SidebarOrgSummary> to typescript

* comment

* fix: Use django's is_safe_url function (#16337)

The implementation of this function from django 1.9.13 covers more invalid URLs
than the one from django-sudo does. We should not redirect to
`http:123347` style URLs.

* fix(ui) Fix gravatar fallbacks (#16336)

When updating Gravatar to typescript, I removed some property spreads as
they triggered typescript warnings and the propTypes didn't cover any
props that needed spreading. The onLoad and onError props were load
bearing as they are used to handle gravatar fallbacks.

* Removing unused class (#16278)

* fix(discover) - Show errors if we encounter them loading discover

- Shows a permission error if a user without access to events like a
  billing account tries to access discover

* feat(discover) Switch trace and span id to use columns instead of context

Have the trace_id and span_id use the built in columns instead of the context
array.

* fix(ui): Fix <ContextPickerModal> and refactor to ts (#16090)

This removes `LatestContext` dependency and fixes `ContextPickerModal` and refactors it to ts.

Co-Authored-By: Matej Minar <[email protected]>

* fix(ui): Fix redirect after creating/editing Metric Alert rules (#16342)

Also makes sure that the index redirects to combined alert listing view.

* ref(perf) Attempt to improve performance of facets endpoint (#16359)

* Fetch tag values individually. This will let snuba use the promoted
  columns more effectively as they perform better.
* Only get 10 facets by default.
* Use a having clause instead of WHERE to exclude tracing tags as it
  performs better.
* Don't use fields that unpack into arrayJoin() expressions where
  possible.
* Enable sampling at lower project thresholds, as we don't need full
  accuracy.

* fix(saml2): Improve error message on attribute mapping (#16347)

* ref: Remove SnubaEvent (#16309)

Remove SnubaEvent since we are moving towards a single event model
(eventstore/models/Event) everywhere.

* fix(tasks) Add event data to user report asynchronously

If an event hasn't been propagated when the user report is created, then queue a
task to sync the event data once it's stored fully.

* feat(django): pytest startup and test collection on Django 1.11 (#16105)

* chore: cleanup bitfield (#16031)

* fix(migrations): Make Snuba event migration more robust (#16364)

Fixes getsentry/self-hosted#322

* feat(teams): Update open membership team permissions (#16244)

* fix(migrations): Fix prerequisite for jira_ac migration (#16351)


Fixes getsentry/self-hosted#332

* fix(auth): Correct path used for SSO errors (#16315)

The route for sentry-organization-auth-settings was still located in the
old settings path, this route is used for a redirect in the auth.helper
module when there is a problem configuring SSO.

This just corrects the redirect so it goes back to settings instead of
404ing.

* fix: Remove beta tag on PagerDuty integration (#16344)

* fix(tagstore) Don't explode on null values (#16368)

The `sentry:user` tag can come back null when it is read from the
promoted columns. Handling nulls allows get_tag_value_label() to be used
more broadly.

* ref: Remove now unused discover query code (#16306)

Remove the automatic dataset detection logic from sentry. We have
switched over to the snuba based implementation of this. Not having
dataset selection in sentry also means we can remove some (but not all)
of the supporting logic as well.

* feat(ui): Require `org:write` role for Metric Alerts form (#16340)

This disables all form fields when editing a Metric Alert without the `org:write` role.

* ref(ts) Move BadgeDisplayName to typescript (#16361)

* test: fix remaining Django 1.11 tests and make required (#16367)

* fix(saml): Wrap individual idp config tabs with forms (#16373)

* chore(django 1.11): bump django-crispy-forms to 1.7.2 (#16371)

* translation+pluralization

* removed duplicate style

* removed duplicate style

* fix(ui): Fixed alignment in <TogglableAddress> if it cannot be converted to relative (#16385)

* ref(discover2) Test out sampling on tag values (#16387)

The facets endpoint is still not fast. I want to see what kind of
results can be obtained if we aggressively sample tag values. If this
yields acceptable performance I want to try scaling the sampling rate
based on the data volume so that we can better balance accurracy and
performance.

* test(acceptance): Try #2 to fix flakey onboarding test for dja… (#16345)

Try #2, use a timed retry policy

* fix(discover2): Fix Percy snapshots and UX issues on Querybuilder (#16291)

* fix(discover2): Test fix on Percy snapshots
* fix(discover2): Improve QueryBuilder for error/loading states
* fix(discover2): Resize QueryBuilder when browser is resized

* feat: Register option for eventstream (#16363)

Register option for #16285

* feat(alerts): Remove "Related issues" from incidents (#16379)

This removes the UI components that fetch and render related issues on the Incidents details view.

* ref: Deprecate get_legacy_message (#16310)

Move the implementation into the Pagerduty plugin since this is the only
place it is used.

* feat(tracing) Add spans for snuba queries (#16388)

Add spans to collect more information about snuba queries. Having the
referrer and the start of the query body should make tracking down slow
queries in snuba easier as we have more context.

* feat(workflow): Remove "Create incident" manual workflow and e… (#16375)

This removes the UI and endpoint to create a manual incident.

* feat: upgrade drf to 3.6.4 (#16392)

* feat(alerts): Remove "Suspects" UI and endpoint (#16378)

This was used on the Incidents details view, but is no longer used

* ref(discover) Remove the raw field (#16390)

Outputting the raw data when we also output all the formatted keys
wastes space and adds visual noise.

* fix(discover2): Use transaction root span only if there are no descendent spans for the ops breakdown (#16377)

* feat(emotion): Upgrade emotion to v10 (#15106)

* ref(ui): Refactor `cx` from emotion to `classnames`

We generally use the `classnames` library to handle merging/dynamic `className`. No reason to use two different libraries.

* upgrade emotion, add styled wrapper for typings (and related paths), add eslint rules for emotion, update babel plugin

* Refactor usage of emotion `css` being treated as a class name string

* change innerRef --> ref

* refactor grid-emotion props and update to `reflexbox`

* eslint for emotion-setup

* refactor injectGlobal --> Global for emotion upgrade

* Add <CacheProvider>, this is needed to turn speedy off for percy

* refactor <HeaderItem> - fix missing props to styled components, remove innerRef and forwardRef

* Change <Tooltip> logic for when to apply a wrapper, emotion causes the previously expected types to be different

* random TS fixes for styled components

* fix <RadioGroup> animation needing `css`

* forwardRef for Switch

* define a `theme.space` for rebass/grid

* fix DOM attribute warnings with "loading" prop

* fix settings breadcrumb - Box in `reflexbox` has different CSS than grid-emotion

* change <ProviderRow> to remove `Flex` around CircleIndicator as it was squishing it on small widths

* css fixes for percy

* fix featureDisabled logic for custom alerts because emotion

* refactor emotion9 --> emotion10 (imports)

* update snapshots and fix tests

* feat(drf): Add CamelSnakeSerializer (#16397)

* docs(workflow): Fix link to screenshots in README.md (#16404)

Fixes links to screenshots in README.md broken by 983c8c6

* ref(ts): Convert <QueryCount> to typescript (#16356)

* ref(ts): Convert <SearchBar> to typescript (#16357)

* ref(ts): Convert <SearchBar> to typescript

* removed proptypes, placeholder optional

* ref(ts): Convert getOnboardingTasks to typescript (#16348)

* merge

Co-authored-by: Mark Story <[email protected]>
Co-authored-by: Chris Fuller <[email protected]>
Co-authored-by: William Mak <[email protected]>
Co-authored-by: evanh <[email protected]>
Co-authored-by: Billy Vong <[email protected]>
Co-authored-by: Evan Purkhiser <[email protected]>
Co-authored-by: Lyn Nagara <[email protected]>
Co-authored-by: josh <[email protected]>
Co-authored-by: Burak Yigit Kaya <[email protected]>
Co-authored-by: Megan Heskett <[email protected]>
Co-authored-by: NisanthanNanthakumar <[email protected]>
Co-authored-by: Danny Lee <[email protected]>
Co-authored-by: Alberto Leal <[email protected]>
Co-authored-by: Aakash Kambuj <[email protected]>
@github-actions github-actions bot locked and limited conversation to collaborators Dec 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants