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

Time panel chunkification #6934

Merged
merged 48 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
8404179
remove old data density graph ui
jprochazk Jul 18, 2024
0534aa0
wip
jprochazk Jul 18, 2024
bb4e116
Merge branch 'main' into jan/time-panel-chunkification
jprochazk Jul 19, 2024
e3a252b
Revert "wip"
jprochazk Jul 19, 2024
e823464
add new APIs
jprochazk Jul 19, 2024
4bd129c
update data UI to not use `EntityInfo`
jprochazk Jul 19, 2024
81f33eb
update blueprint to not use `EntityInfo`
jprochazk Jul 19, 2024
dae84a8
use entity subtree size in `entity_tree_stats_ui`
jprochazk Jul 19, 2024
fda44be
update time UI to not use `SubtreeInfo`
jprochazk Jul 19, 2024
71bad34
remove time histogram usage from component data ui
jprochazk Jul 19, 2024
339c66f
remove `EntityInfo` usage from selection panel
jprochazk Jul 19, 2024
bcc92d4
remove `EntityInfo` usage from 2d/3d space views
jprochazk Jul 19, 2024
28a130d
actually chunkify time panel
jprochazk Jul 19, 2024
a186a00
rm dead code
jprochazk Jul 19, 2024
9293509
remove time histogram usage from EntityLatestAtResults data ui
jprochazk Jul 19, 2024
8e8560e
remove `EntityInfo` from entity tree visitors
jprochazk Jul 19, 2024
a19cd6b
remove some dead code
jprochazk Jul 19, 2024
c27b0b2
add query method
jprochazk Jul 19, 2024
5753834
remove `EntityTree.entity`
jprochazk Jul 19, 2024
b5a140e
remove `SubtreeInfo`
jprochazk Jul 19, 2024
6322bba
Merge branch 'main' into jan/time-panel-chunkification
jprochazk Jul 22, 2024
d4b65f1
docs
jprochazk Jul 22, 2024
10dc774
more docs
jprochazk Jul 22, 2024
ee7509a
docs docs
jprochazk Jul 22, 2024
473dc59
simplify + docs
jprochazk Jul 22, 2024
1bfbfeb
Merge branch 'main' into jan/time-panel-chunkification
jprochazk Jul 22, 2024
b153073
btreemap is sorted by keys
jprochazk Jul 22, 2024
292989f
Merge branch 'main' into jan/time-panel-chunkification
jprochazk Jul 22, 2024
b96a5e0
rename `all_components*` queries
jprochazk Jul 22, 2024
2aebfd0
more renamings
jprochazk Jul 22, 2024
e702215
invert
jprochazk Jul 22, 2024
7e6b5cc
refactor component/data query APIs
jprochazk Jul 22, 2024
e7e57ea
use `u64` everywhere
jprochazk Jul 22, 2024
0d88df1
more static/temporal semantics mess
jprochazk Jul 22, 2024
1bf8ade
refactor into combinators
jprochazk Jul 22, 2024
5ffb090
clarify temporal/static in `num_events` APIs
jprochazk Jul 22, 2024
0291f80
rationale
jprochazk Jul 22, 2024
e3083b6
specify units
jprochazk Jul 22, 2024
4082b9c
clarify `size_of_entity_on_timeline`
jprochazk Jul 22, 2024
5d21b1c
typo
jprochazk Jul 22, 2024
5ef30e9
use `u64` for entity size
jprochazk Jul 22, 2024
b2001e5
add back unused param
jprochazk Jul 22, 2024
eb98e81
Update crates/store/re_chunk_store/src/query.rs
jprochazk Jul 23, 2024
9eea627
Update crates/store/re_chunk_store/src/query.rs
jprochazk Jul 23, 2024
12dc339
Update crates/store/re_chunk_store/src/query.rs
jprochazk Jul 23, 2024
c95c182
Update crates/store/re_chunk_store/src/query.rs
jprochazk Jul 23, 2024
82127ba
docs
jprochazk Jul 23, 2024
63c806b
Merge branch 'main' into jan/time-panel-chunkification
jprochazk Jul 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions crates/store/re_chunk/src/chunk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,14 +227,14 @@ impl Chunk {
//
// TODO(cmc): This needs to be stored in chunk metadata and transported across IPC.
#[inline]
pub fn num_events_cumulative(&self) -> usize {
pub fn num_events_cumulative(&self) -> u64 {
// Reminder: component columns are sparse, we must take a look at the validity bitmaps.
self.components
.values()
.map(|list_array| {
list_array.validity().map_or_else(
|| list_array.len(),
|validity| validity.len() - validity.unset_bits(),
|| list_array.len() as u64,
|validity| validity.len() as u64 - validity.unset_bits() as u64,
)
})
.sum()
Expand All @@ -254,7 +254,7 @@ impl Chunk {
re_tracing::profile_function!();

if self.is_static() {
return vec![(TimeInt::STATIC, self.num_events_cumulative() as u64)];
return vec![(TimeInt::STATIC, self.num_events_cumulative())];
}

let Some(time_chunk) = self.timelines().get(timeline) else {
Expand All @@ -263,7 +263,7 @@ impl Chunk {

let time_range = time_chunk.time_range();
if time_range.min() == time_range.max() {
return vec![(time_range.min(), self.num_events_cumulative() as u64)];
return vec![(time_range.min(), self.num_events_cumulative())];
}

let counts = if time_chunk.is_sorted() {
Expand Down Expand Up @@ -363,12 +363,12 @@ impl Chunk {
//
// TODO(cmc): This needs to be stored in chunk metadata and transported across IPC.
#[inline]
pub fn num_events_for_component(&self, component_name: ComponentName) -> Option<usize> {
pub fn num_events_for_component(&self, component_name: ComponentName) -> Option<u64> {
// Reminder: component columns are sparse, we must check validity bitmap.
self.components.get(&component_name).map(|list_array| {
list_array.validity().map_or_else(
|| list_array.len(),
|validity| validity.len() - validity.unset_bits(),
|| list_array.len() as u64,
|validity| validity.len() as u64 - validity.unset_bits() as u64,
)
})
}
Expand Down
Loading
Loading