Expose DataModel.print_data() through Processor.print_data()
This commit is contained in:
parent
3eac741a4c
commit
1be3ca06ef
1 changed files with 18 additions and 5 deletions
|
@ -256,12 +256,14 @@ class Processor():
|
||||||
:param handlers: the `EventHandler`s to use for processing
|
:param handlers: the `EventHandler`s to use for processing
|
||||||
:param kwargs: the parameters to pass on to new handlers
|
:param kwargs: the parameters to pass on to new handlers
|
||||||
"""
|
"""
|
||||||
|
self._initial_handlers = list(handlers)
|
||||||
expanded_handlers = self._expand_dependencies(*handlers, **kwargs)
|
expanded_handlers = self._expand_dependencies(*handlers, **kwargs)
|
||||||
self._handler_multimap = self._get_handler_maps(expanded_handlers)
|
self._handler_multimap = self._get_handler_maps(expanded_handlers)
|
||||||
self._register_with_handlers(expanded_handlers)
|
self._register_with_handlers(expanded_handlers)
|
||||||
self._progress_display = ProcessingProgressDisplay(
|
self._progress_display = ProcessingProgressDisplay(
|
||||||
[type(handler).__name__ for handler in expanded_handlers],
|
[type(handler).__name__ for handler in expanded_handlers],
|
||||||
)
|
)
|
||||||
|
self._processing_done = False
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _expand_dependencies(
|
def _expand_dependencies(
|
||||||
|
@ -304,16 +306,21 @@ class Processor():
|
||||||
for handler in handlers:
|
for handler in handlers:
|
||||||
handler.register_processor(self)
|
handler.register_processor(self)
|
||||||
|
|
||||||
def process(self, events: List[DictEvent]) -> None:
|
def process(
|
||||||
|
self,
|
||||||
|
events: List[DictEvent],
|
||||||
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Process all events.
|
Process all events.
|
||||||
|
|
||||||
:param events: the events to process
|
:param events: the events to process
|
||||||
"""
|
"""
|
||||||
|
if not self._processing_done:
|
||||||
self._progress_display.set_work_total(len(events))
|
self._progress_display.set_work_total(len(events))
|
||||||
for event in events:
|
for event in events:
|
||||||
self._process_event(event)
|
self._process_event(event)
|
||||||
self._progress_display.did_work()
|
self._progress_display.did_work()
|
||||||
|
self._processing_done = True
|
||||||
|
|
||||||
def _process_event(self, event: DictEvent) -> None:
|
def _process_event(self, event: DictEvent) -> None:
|
||||||
"""Process a single event."""
|
"""Process a single event."""
|
||||||
|
@ -346,6 +353,12 @@ class Processor():
|
||||||
metadata = EventMetadata(event_name, timestamp, cpu_id, procname, pid, tid)
|
metadata = EventMetadata(event_name, timestamp, cpu_id, procname, pid, tid)
|
||||||
handler_function(event, metadata)
|
handler_function(event, metadata)
|
||||||
|
|
||||||
|
def print_data(self) -> None:
|
||||||
|
"""Print processed data."""
|
||||||
|
if self._processing_done:
|
||||||
|
for handler in self._initial_handlers:
|
||||||
|
handler.data.print_data()
|
||||||
|
|
||||||
|
|
||||||
class ProcessingProgressDisplay():
|
class ProcessingProgressDisplay():
|
||||||
"""Display processing progress periodically on stdout."""
|
"""Display processing progress periodically on stdout."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue