Skip to content

Conversation

@cghiurea
Copy link

@cghiurea cghiurea commented Nov 20, 2025

📄 Summary

Adds export functionality using existing CSV/Excel export component and enhanced pagination controls to the Query Table component used in Logs and Traces. Users can now export table data and select from expanded page size options


✅ Changes

  • Feature: Add page size selector to QueryTable pagination.
  • Feature: Enable showSizeChanger in pagination config.
  • Feature: Make createDownloadableData utility generic for all table row data. (It's not used anywhere)
  • Feature: Enable downloadOption prop in Traces and Logs Query Builder ( Table View )

🏷️ Required: Add Relevant Labels

  • frontend
  • enhancement
  • ui

👥 Reviewers

  • frontend

🧪 How to Test

  1. Navigate to Logs Explorer or Traces Explorer → Select Table view
  2. Verify pagination dropdown shows page size options: 10, 25, 50, 100, 200, 500, 1000
  3. Change page size and confirm table updates correctly
  4. Click the Download button and export as CSV or Excel
  5. Verify exported file contains all visible table columns and data
  6. Confirm export respects current filters and time range

🔍 Related Issues

#8923


📸 Screenshots / Screen Recording (if applicable / mandatory for UI related changes)

image image

📋 Checklist

  • Dev Review
  • Test cases added (Unit/ Integration / E2E)
  • Manually tested the changes

Note

Enables exporting and paginating data in tables used by Logs and Traces.

  • QueryTable: adds Ant Pagination control with page size options [10, 25, 50, 100, 200, 500, 1000], client-side slicing, and reset-on-data-change
  • Export: new generic createDownloadableData (supports columnLabels and valueTransforms) to export filtered data (all rows) as CSV/Excel; filenames now include serviceName and a timestamp
  • Download UI: replaces text button with icon + tooltip, disables while loading, and truncates Excel sheet names to 31 chars
  • Integration: enables downloadOption in LogsExplorerTable and TracesExplorer TableView; adds labels/transforms for Top Operation metrics
  • Styling: adds .query-table-controls container and removes absolute-positioned download button

Written by Cursor Bugbot for commit d3b8af0. This will update automatically on new commits. Configure here.

@welcome
Copy link

welcome bot commented Nov 20, 2025

Welcome to the SigNoz community! Thank you for your first pull request and making this project better. 🤗

@CLAassistant
Copy link

CLAassistant commented Nov 20, 2025

CLA assistant check
All committers have signed the CLA.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@nityanandagohain nityanandagohain self-requested a review November 20, 2025 04:32
Copy link
Member

@nityanandagohain nityanandagohain left a comment

Choose a reason for hiding this comment

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

  • There is no way to go back to 10/page after selecting a different value.
  • Change download icon

@YounixM can you suggest if the place for selecting the size is in the right place or we can accodomate it on top.

Also the right place to keep the download button. I believe we can put the download button and page size on the same row towards the right and change the download icon similar to logs

image image

@cghiurea
Copy link
Author

  • here is no way to go back to 10/page after selecting a different value.

Fixed losing the initial pagination.

Now all it's left is the pagination button

@cghiurea
Copy link
Author

cghiurea commented Nov 21, 2025

@nityanandagohain

Also the right place to keep the download button. I believe we can put the download button and page size on the same row towards the right and change the download icon similar to logs

I tried doing it, but the pagination is part of the Ant Table, and I couldn’t get the download button on the same level.

Since Ant Table generates its own pagination, I wasn’t able to move or align the download button:
image

On hover:
image

@nityanandagohain
The page you are referring to uses a custom controls not ants, and this control is built for server side pagination. The QueryTable returns all rows and it's client side.

<Controls
	isLoading={isLoading}
	totalCount={totalCount}
	offset={pagination.offset}
	countPerPage={pagination.limit}
	perPageOptions={perPageOptions}
	handleCountItemsPerPageChange={handleCountItemsPerPageChange}
	handleNavigateNext={handleNavigateNext}
	handleNavigatePrevious={handleNavigatePrevious}
	showSizeChanger={showSizeChanger}
/>

@ahmadshaheer
Copy link
Collaborator

@nityanandagohain

Also the right place to keep the download button. I believe we can put the download button and page size on the same row towards the right and change the download icon similar to logs

I tried doing it, but the pagination is part of the Ant Table, and I couldn’t get the download button on the same level.

Since Ant Table generates its own pagination, I wasn’t able to move or align the download button: image

On hover: image

@nityanandagohain The page you are referring to uses a custom controls not ants, and this control is built for server side pagination. The QueryTable returns all rows and it's client side.

<Controls
	isLoading={isLoading}
	totalCount={totalCount}
	offset={pagination.offset}
	countPerPage={pagination.limit}
	perPageOptions={perPageOptions}
	handleCountItemsPerPageChange={handleCountItemsPerPageChange}
	handleNavigateNext={handleNavigateNext}
	handleNavigatePrevious={handleNavigatePrevious}
	showSizeChanger={showSizeChanger}
/>

@cghiurea you use src/container/PageSizeSelect/index.tsx IMO?

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@cghiurea
Copy link
Author

cghiurea commented Dec 7, 2025

@ahmadshaheer After pulling the latest changes from main, I started seeing TypeScript errors on my staged files. Before that, I was able to commit without any TS errors. I even tried making a commit with just a single whitespace change and still got the same errors.

How did these errors get introduced? All of my previous commits passed linting, and I’m assuming others’ commits are linted as well. Was there a recent change to the ESLint or TSConfig settings?

image

@cghiurea
Copy link
Author

cghiurea commented Dec 7, 2025

Feature is done. @ahmadshaheer @nityanandagohain

image

@cghiurea cghiurea requested a review from a team as a code owner December 19, 2025 08:02
@cghiurea
Copy link
Author

Hello to whom it may concern,
Please advise on any steps needed to move this PR forward.

Thank you for your time.

@cghiurea
Copy link
Author

Hello, any feedback on the next steps?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants