feat(explore): Add logs export modal with row limit#112674
feat(explore): Add logs export modal with row limit#112674JoshuaKGoldberg wants to merge 22 commits intomasterfrom
Conversation
Add DataExportWithModal (global modal + scraps form) beside the existing logs export control. Extend useDataExport to send an optional top-level limit to the data-export API. Co-Authored-By: Cursor <noreply@cursor.com> Made-with: Cursor
Sentry Snapshot Testing
|
|
🚨 Warning: This pull request contains Frontend and Backend changes! It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently. Have questions? Please ask in the |
…ns/tagExportDropdown.tsx
| }: LogsExportModalProps) { | ||
| const payload = useMemo( | ||
| () => ({ | ||
| queryType: ExportQueryType.EXPLORE, |
There was a problem hiding this comment.
Once #112953 is in & we've validated on prod, I'll switch this to rely on allColumns. Currently blocked on some errors in Snuba-land.
There was a problem hiding this comment.
[Todo] Telemetry: other parts of the flow have pre-existing logs; I'll need to add some corresponding ones.
Previously, all logs data exports were done with a
LogsExportButton->ExploreExportcomponent ->DataExportcomponent, which used auseDataExporthook internal to its file. This PR adds aLogsExportSwitchbutton on top of that which can opt into a newLogsExportModalButtonif aourlogs-modal-exportfeature flag is enabled, or?logsModalExport=trueis in query params.LogsExportModalButtontakes in the same general data and, on click, renders a newLogsExportModal. That modal component calls to the newly exporteduseDataExporthook.useDataExportis also now augmented to:fileNamefrom the serverIn other words, previously:
Now:
I also extracted a
downloadFromHrefused in both the CSV and JSON paths.This was used for LOGS-690. Fixes LOGS-692.