Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

emilk
Copy link
Member

@emilk emilk commented Sep 4, 2025

Related

What

This adds options (to the SDK and CLI) to control the replay behavior of the gRPC proxy server.

The default is (like before) to replay the oldest data first, and then start relaying live data.
But now you can opt-in to getting the live data first, and afterwards getting the historical data starting with the newest.

TODO

  • Automated test
  • Manual test

@emilk emilk added enhancement New feature or request sdk-cpp C/C++ API specific include in changelog CLI Related to the Rerun CLI labels Sep 4, 2025
Copy link

github-actions bot commented Sep 4, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
5bc9ca5 https://rerun.io/viewer/pr/11118 +nightly +main

Note: This comment is updated whenever you push a commit.

@emilk emilk force-pushed the emilk/replay-newest-first branch from 3e4ec64 to 1088bd9 Compare September 4, 2025 14:53
@emilk emilk marked this pull request as ready for review September 4, 2025 14:59
Comment on lines +597 to +598
persistent.iter().rev(),
static_.iter().rev(),
Copy link
Member

Choose a reason for hiding this comment

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

I'd be curious what happens if you have a VideoFrameReference and static AssetVideo, and then the frame references come before the video 🤔. But persistent and static probably don't need to be reversed, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Our viewer should be robust to out-of-order chunks, so likely you will have an on-screen video-error until the video chunk is received. More likely this feature will be used by people doing video streams though.

As for static: some people use static logging as a way to log "transient" data (e.g. many images), and in that case we again want to show the latest first, hence the .rev

Copy link
Member

Choose a reason for hiding this comment

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

some people use static logging as a way to log "transient" data (e.g. many images), and in that case we again want to show the latest first, hence the .rev

if only we had an in-memory server which used an actual chunk store so we could discard static data when it is overwritten 😅

Copy link
Member

@Wumpf Wumpf Sep 9, 2025

Choose a reason for hiding this comment

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

While it will work fine'ish with VideoFrameRefernece, we actually completely break down with out of order chunks for VideoStream. Need to create a follow-up issue about this.

We have other places where we hit this limitation. E.g.:

it's not entirely trivial to fix this, but we have to look into it

Copy link

github-actions bot commented Sep 5, 2025

Latest documentation preview deployed successfully.

Result Commit Link
5bc9ca5 https://landing-jbqqo0mh5-rerun.vercel.app/docs

Note: This comment is updated whenever you push a commit.

@emilk emilk force-pushed the emilk/replay-newest-first branch from 9aa9a41 to 5bc9ca5 Compare September 5, 2025 12:24
@Wumpf Wumpf self-requested a review September 9, 2025 06:33
Copy link
Member

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

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

lgtm!

VideoStream issues are a major concerns though, we need to follow-up on this. Can you please create a dedicated ticket and prioritize it accordingly? thx

@emilk
Copy link
Member Author

emilk commented Sep 9, 2025

@emilk emilk merged commit accfe73 into main Sep 9, 2025
130 of 131 checks passed
@emilk emilk deleted the emilk/replay-newest-first branch September 9, 2025 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLI Related to the Rerun CLI enhancement New feature or request include in changelog sdk-cpp C/C++ API specific
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Request: disable replay when connecting new gRPC clients
3 participants