Skip to content

Conversation

@MarioCadenas
Copy link
Collaborator

@MarioCadenas MarioCadenas commented Dec 10, 2025

Arrow Stream Integration

Adds efficient binary data transfer between backend and frontend using Apache Arrow IPC format.

Key Features:

  • ArrowStreamProcessor for downloading, parsing, and concatenating Arrow chunks with retry logic, timeout handling, and concurrent download limiting
  • ArrowClient for client-side Arrow buffer processing and chart data extraction
  • Lazy loading of apache-arrow library to minimize initial bundle size
  • Unified chart API supporting both JSON and Arrow data formats

Performance Optimizations:

  • Pre-computed decimal scaling for numeric columns
  • Pre-allocated arrays to avoid memory churn
  • Module-level theme color caching
  • Lazy initialization of ArrowStreamProcessor

Charts library

  • Added echarts as it has a lot of variety of charts we can use
  • Each chart is able to render both json and arrow format using a wrapper
localhost_8000_arrow-analytics

@MarioCadenas MarioCadenas force-pushed the arrow-stream-integration branch 4 times, most recently from 2aa353c to ad6ba65 Compare December 15, 2025 12:07
@MarioCadenas MarioCadenas marked this pull request as ready for review December 15, 2025 13:39
@MarioCadenas MarioCadenas requested review from a team, ditadi and pkosiec December 15, 2025 13:39
Copy link
Member

@pkosiec pkosiec left a comment

Choose a reason for hiding this comment

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

Overall LGTM, just please take a look at the comments and address the applicable ones before merge 👍

Copy link
Collaborator

@fjakobs fjakobs left a comment

Choose a reason for hiding this comment

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

That's a lot to review. Overall looking really good.

Copy link
Contributor

@ditadi ditadi left a comment

Choose a reason for hiding this comment

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

Some checks, telemetry, non-necessary code, and three main issues (arrow logic on base plugin, always using service account, arrow state mangement broken)

@MarioCadenas MarioCadenas requested a review from ditadi December 17, 2025 18:06
@MarioCadenas
Copy link
Collaborator Author

Everything's been addressed @ditadi 😄

chore: fixup

chore: fixup

chore: fixup

chore: fixup

chore: fixup

chore: fixup

chore: tests

chore: tests

chore: fixup

chore: fixup
@MarioCadenas MarioCadenas force-pushed the arrow-stream-integration branch from 4eac303 to 2e3170a Compare December 17, 2025 18:08
@MarioCadenas MarioCadenas force-pushed the arrow-stream-integration branch from 2e3170a to 6ffa5ed Compare December 17, 2025 18:12
@MarioCadenas MarioCadenas enabled auto-merge (squash) December 17, 2025 18:24
@MarioCadenas MarioCadenas merged commit 3128ce3 into main Dec 17, 2025
3 checks passed
@MarioCadenas MarioCadenas deleted the arrow-stream-integration branch December 19, 2025 17:43
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.

5 participants