diff --git a/analysis/lttng_models.py b/analysis/lttng_models.py new file mode 100644 index 0000000..7128293 --- /dev/null +++ b/analysis/lttng_models.py @@ -0,0 +1,36 @@ +# Model objects for LTTng traces/events + +def get_field(event, field_name, default=None): + return event.get(field_name, d=default) + +def get_name(event): + return get_field(event, '_name') + + +class EventMetadata(): + def __init__(self, event_name, pid, tid, timestamp, procname): + self._event_name = event_name + self._pid = pid + self._tid = tid + self._timestamp = timestamp + self._procname = procname + + @property + def event_name(self): + return self._event_name + + @property + def pid(self): + return self._pid + + @property + def tid(self): + return self._tid + + @property + def timestamp(self): + return self._timestamp + + @property + def procname(self): + return self._procname diff --git a/analysis/ros_processor.py b/analysis/ros_processor.py index cbd8d66..bf45af6 100644 --- a/analysis/ros_processor.py +++ b/analysis/ros_processor.py @@ -1,5 +1,7 @@ # Process trace events and create ROS model +from .lttng_models import EventMetadata, get_field, get_name + def ros_process(events): """ Process unpickled events and create ROS model @@ -10,36 +12,6 @@ def ros_process(events): print(f'event: {str(event)}') processor.handle(event) -# TODO move -class EventMetadata(): - def __init__(self, event_name, pid, tid, timestamp, procname): - self._event_name = event_name - self._pid = pid - self._tid = tid - self._timestamp = timestamp - self._procname = procname - - @property - def event_name(self): - return self._event_name - - @property - def pid(self): - return self._pid - - @property - def tid(self): - return self._tid - - @property - def timestamp(self): - return self._timestamp - - @property - def procname(self): - return self._procname - - class RosProcessor(): def __init__(self): # TODO add other stuff @@ -83,10 +55,3 @@ class RosProcessor(): def _handle_subscription_callback_end(self, event, metadata): # TODO pass - - -def get_field(event, field_name, default=None): - return event.get(field_name, d=default) - -def get_name(event): - return get_field(event, '_name')