Fix typing info

Backport of e73296b34a

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
This commit is contained in:
Christophe Bedard 2021-03-31 19:26:06 -04:00
parent ceb6715bae
commit 3768a177c7
5 changed files with 25 additions and 41 deletions

View file

@ -15,6 +15,13 @@
"""Base data model module."""
from typing import Any
from typing import Dict
from typing import List
DataModelIntermediateStorage = List[Dict[str, Any]]
class DataModel():
"""

View file

@ -18,6 +18,7 @@
import pandas as pd
from . import DataModel
from . import DataModelIntermediateStorage
class CpuTimeDataModel(DataModel):
@ -30,10 +31,7 @@ class CpuTimeDataModel(DataModel):
def __init__(self) -> None:
"""Create a CpuTimeDataModel."""
super().__init__()
# Intermediate
self._times = []
# Final
self.times = None
self._times: DataModelIntermediateStorage = []
def add_duration(
self,

View file

@ -18,6 +18,7 @@
import pandas as pd
from . import DataModel
from . import DataModelIntermediateStorage
class MemoryUsageDataModel(DataModel):
@ -31,10 +32,7 @@ class MemoryUsageDataModel(DataModel):
def __init__(self) -> None:
"""Create a MemoryUsageDataModel."""
super().__init__()
# Intermediate
self._memory_diff = []
# Final
self.memory_diff = None
self._memory_diff: DataModelIntermediateStorage = []
def add_memory_difference(
self,

View file

@ -20,6 +20,7 @@ from typing import Optional
import pandas as pd
from . import DataModel
from . import DataModelIntermediateStorage
class ProfileDataModel(DataModel):
@ -33,10 +34,7 @@ class ProfileDataModel(DataModel):
def __init__(self) -> None:
"""Create a ProfileDataModel."""
super().__init__()
# Intermediate
self._times = []
# Final
self.times = None
self._times: DataModelIntermediateStorage = []
def add_duration(
self,

View file

@ -18,6 +18,7 @@
import pandas as pd
from . import DataModel
from . import DataModelIntermediateStorage
class Ros2DataModel(DataModel):
@ -30,36 +31,19 @@ class Ros2DataModel(DataModel):
def __init__(self) -> None:
"""Create a Ros2DataModel."""
super().__init__()
# Intermediate
self._contexts = []
self._nodes = []
self._publishers = []
self._subscriptions = []
self._subscription_objects = []
self._services = []
self._clients = []
self._timers = []
self._callback_objects = []
self._callback_symbols = []
self._callback_instances = []
# Final
# Objects (one-time events, usually when something is created)
self.contexts = None
self.nodes = None
self.publishers = None
self.subscriptions = None
self.subscription_objects = None
self.services = None
self.clients = None
self.timers = None
self.callback_objects = None
self.callback_symbols = None
self._contexts: DataModelIntermediateStorage = []
self._nodes: DataModelIntermediateStorage = []
self._publishers: DataModelIntermediateStorage = []
self._subscriptions: DataModelIntermediateStorage = []
self._subscription_objects: DataModelIntermediateStorage = []
self._services: DataModelIntermediateStorage = []
self._clients: DataModelIntermediateStorage = []
self._timers: DataModelIntermediateStorage = []
self._callback_objects: DataModelIntermediateStorage = []
self._callback_symbols: DataModelIntermediateStorage = []
# Events (multiple instances, may not have a meaningful index)
self.callback_instances = None
self._callback_instances: DataModelIntermediateStorage = []
def add_context(
self, context_handle, timestamp, pid, version
@ -209,7 +193,6 @@ class Ros2DataModel(DataModel):
self.callback_symbols = pd.DataFrame.from_dict(self._callback_symbols)
if self._callback_symbols:
self.callback_symbols.set_index('callback_object', inplace=True, drop=True)
# Events (multiple instances, may not have a meaningful index)
self.callback_instances = pd.DataFrame.from_dict(self._callback_instances)
def print_data(self) -> None: