This repository was archived by the owner on Nov 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Event Table Roadmap
alexmonthy edited this page Dec 15, 2017
·
7 revisions
- Add iterator copy API + make sure it works for CTF
- Add the notion of TracePosition
(super-class of TraceIterator). Basically an immobile iterator:- Can save the current position of an iterator via
TraceIterator.getPosition()
TracePosition.of()
- Can create a new iterator from a saved position using
TracePosition.newIterator()
- Can save the current position of an iterator via
- Allow/test iterator seeking using the CTF index
- Allow trace iterators to move backwards
- Default implementation could be to rewind n events and read forwards up to the starting point, and keep this cache as the next events the iterator will move through, backwards.
- Allow collection iterators to move backwards
-
Add specification in CtfTraceCollection iterator implementation to rewind according to packet bordersAmong all the possible CTF streams, go to the latest current-packet start time. Use this as the starting point for the next cache block.- There doesn't seem to be any advantage of doing collection-wide stream comparison. We can let each trace do its own per-stream comparison. This will limit the impact of traces with very different packet sizes. Then we don't need to have any special case at the collection level.
- Upon timestamp selection, the event table will request up to
50,00025,000 events forwards and50,00025,000 events backwards using backwards/forwards iterators to populate the current table "page". - Prominent Next/Previous Page buttons can be used to recenter the table on the previous first/last event, by requesting an additional
50,00025,000 (we can re-use the "half-page") events.
- Add support for loading CTF indexes from disk
- Build the CTF index for traces where it is entirely missing.
- Even if the CTF index exists, look through it for potentially very large packets, and "refine" the index where deemed too coarse (no need to read the entire trace to do this).
- Add filters to iterator creation. The iterator will then only return events matching its filter.