Skip to content
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

Show e2e latency in metric ui in top panel #4502

Merged
merged 11 commits into from
Dec 14, 2023
Merged

Show e2e latency in metric ui in top panel #4502

merged 11 commits into from
Dec 14, 2023

Conversation

emilk
Copy link
Member

@emilk emilk commented Dec 12, 2023

What

When the top panel metrics are enabled, you will now see the e2e latency, from when log is called in the SDK to when the data is added to the data store in the viewer.

This is only accurate if the logging SDK is running on the same machine as the viewer (or if the clocks on the two machines are very closely synced).

Example when running examples/python/live_camera_edge_detection/main.py:

image

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
    • Full build: app.rerun.io
    • Partial build: app.rerun.io - Useful for quick testing when changes do not affect examples in any way
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

@emilk emilk added ui concerns graphical user interface 🧑‍💻 dev experience developer experience (excluding CI) labels Dec 12, 2023
Copy link

Size changes

Name main 4502/merge Change
plots.rrd 194.56 kiB 204.80 kiB +5.26%

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.

love it!

However, :). Very interested in seeing those solved, but still a clear improvement so not blocking!

crates/re_data_store/src/store_db.rs Outdated Show resolved Hide resolved
crates/re_data_store/src/store_db.rs Show resolved Hide resolved
crates/rerun_c/src/lib.rs Outdated Show resolved Hide resolved
rerun_py/src/arrow.rs Outdated Show resolved Hide resolved
@emilk emilk merged commit 003f167 into main Dec 14, 2023
40 checks passed
@emilk emilk deleted the emilk/e2e-latency branch December 14, 2023 11:03
@emilk emilk mentioned this pull request Jan 3, 2024
4 tasks
emilk added a commit that referenced this pull request Jan 3, 2024
### What
Rerun is designed to be able to handle out-of-order ingestion, but with
a performance hit.

Usually that performance hit is very small, but when logging to the
exact same timestamp many times, we hit a corner-case of the data store
where we get a huge bucket (see
#4415). If the data arrives
out-of-order, this means an expensive resort of the huge bucket on each
ingestion.

Usually such out-of-order log rows should only happen in multi-threaded
applications, but due to a bug it happened almost always. This PR fixes
this bug, and adds regression test for it. This PR thus alleviates the
problem in #4415, but does not
fix it for actual out-of-order multi-threaded applications.

~I introduced the bug in #4502 after the 0.11 release.~ **EDIT:** no, it
was pre-existing!

<img
src="https://github.com/rerun-io/rerun/assets/1148717/fde1f973-deec-46be-b6cc-b671968bf633"
width="250">

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using newly built examples:
[app.rerun.io](https://app.rerun.io/pr/4658/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/4658/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[app.rerun.io](https://app.rerun.io/pr/4658/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4658)
- [Docs
preview](https://rerun.io/preview/b58459b740b693d86be9e9b3e846d37bf565f060/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/b58459b740b693d86be9e9b3e846d37bf565f060/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dev experience developer experience (excluding CI) include in changelog ui concerns graphical user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants