diff --git a/tracetools_analysis/analysis/data_model.py b/tracetools_analysis/analysis/data_model.py index 7eb7ad6..30ca49e 100644 --- a/tracetools_analysis/analysis/data_model.py +++ b/tracetools_analysis/analysis/data_model.py @@ -16,7 +16,8 @@ class DataModel(): # Objects (one-time events, usually when something is created) self.contexts = pd.DataFrame(columns=['context_handle', 'timestamp', - 'pid']) + 'pid', + 'version']) self.contexts.set_index(['context_handle'], inplace=True, drop=True) self.nodes = pd.DataFrame(columns=['node_handle', 'timestamp', @@ -71,8 +72,8 @@ class DataModel(): 'duration', 'intra_process']) - def add_context(self, context_handle, timestamp, pid) -> None: - self.contexts.loc[context_handle] = [timestamp, pid] + def add_context(self, context_handle, timestamp, pid, version) -> None: + self.contexts.loc[context_handle] = [timestamp, pid, version] def add_node(self, node_handle, timestamp, tid, rmw_handle, name, namespace) -> None: self.nodes.loc[node_handle] = [timestamp, tid, rmw_handle, name, namespace] diff --git a/tracetools_analysis/analysis/ros2_processor.py b/tracetools_analysis/analysis/ros2_processor.py index c4f91d7..8110fa7 100644 --- a/tracetools_analysis/analysis/ros2_processor.py +++ b/tracetools_analysis/analysis/ros2_processor.py @@ -60,7 +60,8 @@ class Ros2Processor(EventHandler): context_handle = get_field(event, 'context_handle') timestamp = metadata.timestamp pid = metadata.pid - self._data.add_context(context_handle, timestamp, pid) + version = get_field(event, 'version') + self._data.add_context(context_handle, timestamp, pid, version) def _handle_rcl_node_init(self, event: Dict, metadata: EventMetadata) -> None: handle = get_field(event, 'node_handle')