-
Notifications
You must be signed in to change notification settings - Fork 598
Open
Description
Problem
At the moment there's zero code reuse in DataPoints collection phase. Due to too much copy/paste there are few issues:
- there are inefficiencies by doing unnecessary
.clone() - I noticed at least one bug in
PrecomputedSum::deltawhereno_attribute_trackerusesget_valueinstead ofget_and_reset_value. - hard to understand the core logic of aggregator, versus implementation details of how DataPoints are collected.
- makes very hard to experiment with performance improvements in
measuringand/orcollectingphase. E.g. if I change something within ValueMap, I need to go and update at minimum 5 aggregators (if we addExpoHistogram) * 2 (delta/comulative) = 10 places. - makes very hard to review, because simple change will affect at least 10 places.
Solution
Hide implementation details of ValueMap, and provide simple collect_cumulative and collect_delta functions instead (similar idea as in #2114).
In the future we'll be able to experiment and improve ValueMap implementation and get benefits across all aggregators.
cijothomas and utpilla
Metadata
Metadata
Assignees
Labels
No labels