-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
feat(releases): add release health table on frontend/backend insights #85501
Conversation
static/app/views/insights/sessions/components/tables/releaseTable.tsx
Outdated
Show resolved
Hide resolved
makeSortLinkGenerator, | ||
onClick: () => {}, | ||
rightAlignedColumns: [], | ||
sortableColumns: [], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
disabled all sorting because the /releases/
endpoint sorting is not bidirectional
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense! I'll leave it for someone from your team to approve, just left one suggestion 👍🏻
const renderBodyCell = useCallback((column: any, dataRow: any) => { | ||
const value = dataRow[column.key]; | ||
switch (column.key) { | ||
case 'date': | ||
return <DateTime date={value} />; | ||
case 'version': | ||
return ( | ||
<VersionWrapper> | ||
<StyledVersion version={value} tooltipRawVersion anchor={false} /> | ||
</VersionWrapper> | ||
); | ||
case 'crash_free_sessions': | ||
return `${value.toFixed(2)}%`; | ||
case 'stage': | ||
case 'sessions': | ||
default: | ||
return <TextOverflow>{value}</TextOverflow>; | ||
} | ||
}, []); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For body cell rendering you might have an easier time if you delegate to default field renderers. You can see some examples in Insights where we specify custom renderers for some table cell types, but then call getFieldRenderer
for the rest
There are default renderers for date
, release
, and others that might be useful!
const PaginationNoMargin = styled(Pagination)` | ||
margin: 0; | ||
`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👀 would removing margin from Pagination
be more, less, or similarly annoying to Alert
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
much less annoying👀
static/app/views/insights/sessions/components/tables/releaseTable.tsx
Outdated
Show resolved
Hide resolved
static/app/views/insights/sessions/queries/useOrganizationReleases.tsx
Outdated
Show resolved
Hide resolved
9f5906f
to
d54905e
Compare
This comment was marked as resolved.
This comment was marked as resolved.
static/app/views/insights/sessions/components/tables/releaseHealthTable.tsx
Outdated
Show resolved
Hide resolved
b8f84dc
to
3f822c9
Compare
…#85501) ### add a release health table to the frontend insights "session health" tab (gated by a feature flag only visible to sentry): sorted by creation date. <img width="923" alt="SCR-20250220-norb" src="https://github.com/user-attachments/assets/c3347c29-27cf-4d24-964a-a1f51013afe3" /> ### includes pagination too: <img width="927" alt="SCR-20250220-nort" src="https://github.com/user-attachments/assets/97d0a10b-034d-4b8d-a517-a323321fc8cd" /> ### empty state <img width="817" alt="SCR-20250219-owkb" src="https://github.com/user-attachments/assets/ed4ee659-4a48-4c31-9826-a80040bf9b5b" /> ### hovering over the release name gives a tooltip card, and clicking into it goes to the release detail page: <img width="366" alt="SCR-20250220-noso" src="https://github.com/user-attachments/assets/a00425cb-1668-4a9a-8464-b2ea5b0868ae" /> ### clicking the "new issues" count goes to issue search https://github.com/user-attachments/assets/96bf1324-71c5-4a06-b2f2-1fea6cefcf45 ### note currently it's only shown on the frontend & backend insights page, but will implement for mobile in the future. **question:** will the mobile table look any different? ### findings #### 1. turns out the `/releases/` endpoint gives us a bunch of handy stuff that we don't need to calculate (we were calculating crash free rate by hand etc for the sessions-backed chart): <img width="326" alt="SCR-20250219-odit" src="https://github.com/user-attachments/assets/7418a2f2-937c-4efc-b5da-36a79ab5f496" /> #### 2. the `/releases/` endpoint sort is broken - you can only sort the following fields one way, but not the other ``` crash_free_sessions crash_free_users date sessions users ``` ex. `-crash_free_sessions` breaks the endpoint so i disabled sort for all columns for now. #### 3. the whole table rendering gets pretty slow with 1+ project selected. ### TODOS: - [x] fix rerendering whenever columns are resized - [x] add issue count columns - [ ] implement mobile version (any differences?) - will do in followup relates to #84877
add a release health table to the frontend insights "session health" tab (gated by a feature flag only visible to sentry):
sorted by creation date.
includes pagination too:
empty state
hovering over the release name gives a tooltip card, and clicking into it goes to the release detail page:
clicking the "new issues" count goes to issue search
Screen.Recording.2025-02-20.at.3.20.35.PM.mov
note
currently it's only shown on the frontend & backend insights page, but will implement for mobile in the future.
question: will the mobile table look any different?
findings
1. turns out the
/releases/
endpoint gives us a bunch of handy stuff that we don't need to calculate (we were calculating crash free rate by hand etc for the sessions-backed chart):2. the
/releases/
endpoint sort is broken - you can only sort the following fields one way, but not the otherex.
-crash_free_sessions
breaks the endpointso i disabled sort for all columns for now.
3. the whole table rendering gets pretty slow with 1+ project selected.
TODOS:
relates to #84877