-
Notifications
You must be signed in to change notification settings - Fork 385
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
Implement gRPC log stream #8730
Conversation
Web viewer built successfully. If applicable, you should also test it:
Note: This comment is updated whenever you push a commit. |
362d97a
to
cc6e789
Compare
I added this issue for removing the |
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.
Have you tested this with the web viewer? pixi run rerun-web temp://…
b8ee932
to
a82ed71
Compare
Ok, I have this working on web now. Took much longer than expected, because I realised half-way that I need to use the
This greatly complicates the usual rerun-web setup... If we no longer support websockets, we'll always have to run the proxy. I'm going to try and look into if there's a way to do our own "proxying" in the same process as |
I checked
|
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.
Nice!
This PR implements Viewer-side log streaming from an in-memory storage node.
It is not currently possible to host the server either in the SDK or the viewer, so for now a separate binary exists in the
re_grpc_server
crate (cargo run -p re_grpc_server
), that starts onlocalhost:1852
.Currently the URL prefix is
temp://
, which is a placeholder for the real URL prefix. The prefix is used by the Viewer to determine what kind of data source it is working with, so we need something that uniquely identifies the in-memory storage node. It has to be separate from existing gRPC infrastructure, because there is currently no overlap in functionality between the two.