Skip to content

Infra

ArchitectureReaderLttng #

Bases: ArchitectureReader

get_callback_groups(node) #

Get callback groups.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[CallbackGroupValue]

Callback group value.

get_executors() #

Get executors.

Returns:

Type Description
Sequence[ExecutorValue]

Executor value.

get_message_contexts(node) #

Get message contexts.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[dict]

Always empty sequence.

get_node_names_and_cb_symbols(callback_group_id) #

Get node names and callback symbols.

Parameters:

Name Type Description Default
callback_group_id str

callback group id.

required

Returns:

Type Description
Sequence[tuple[str | None, str | None]]

Node names and callback symbols.

get_nodes() #

Get nodes.

Returns:

Type Description
Sequence[NodeValueWithId]

Node value with id.

get_paths() #

Get paths.

Returns:

Type Description
Sequence[PathValue]

Path value.

get_publishers(node) #

Get publishers.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[PublisherValue]

Publisher value.

get_service_callbacks(node) #

Get service callbacks.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[ServiceCallbackValue]

Service callback value.

get_services(node) #

Get services.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[ServiceValue]

Service value.

get_subscription_callbacks(node) #

Get subscription callbacks.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[SubscriptionCallbackValue]

Subscription callback value.

get_subscriptions(node) #

Get subscriptions.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[SubscriptionValue]

Subscription value.

get_timer_callbacks(node) #

Get timer callback values.

Parameters:

Name Type Description Default
node NodeValue

target node

required

Returns:

Type Description
Sequence[TimerCallbackValue]

timer callback values

get_timers(node) #

Get timers.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[TimerValue]

Timer value.

get_variable_passings(node) #

Get variable passings.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[VariablePassingValue]

Always empty sequence.

ArchitectureReaderYaml #

Bases: ArchitectureReader

get_callback_groups(node) #

Get callback groups.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[CallbackGroupValue]

Callback group object of specified node defined in architecture file.

get_executors() #

Get executors.

Returns:

Type Description
list[ExecutorValue]

All executor objects defined in the architecture file.

get_message_contexts(node) #

Get message contexts.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[dict]

Message context object of specified node defined in architecture file.

get_node_names_and_cb_symbols(callback_group_id) #

Get node names and callback symbols.

Parameters:

Name Type Description Default
callback_group_id str

callback group id.

required

Returns:

Type Description
Sequence[tuple[str | None, str | None]]

Always empty sequence.

get_nodes() #

Get nodes.

Returns:

Type Description
Sequence[NodeValueWithId]

All node objects defined in the architecture file.

get_paths() #

Get paths.

Returns:

Type Description
list[PathValue]

All path information objects defined in the architecture file.

get_publishers(node) #

Get publishers.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[PublisherValue]

Publisher object of specified node defined in architecture file.

get_service_callbacks(node) #

Get service callbacks.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[ServiceCallbackValue]

Always empty sequence.

get_services(node) #

Get services.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
Sequence[ServiceValue]

Always empty sequence.

get_subscription_callbacks(node) #

Get subscription callbacks.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[SubscriptionCallbackValue]

Subscription callback object of specified node defined in architecture file.

get_subscriptions(node) #

Get subscriptions.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[SubscriptionValue]

Subscription object of specified node defined in architecture file.

get_timer_callbacks(node) #

Get timer callback values.

Parameters:

Name Type Description Default
node NodeValue

target node

required

Returns:

Type Description
list[TimerCallbackValue]

Timer callback object of specified node defined in architecture file.

get_timers(node) #

Get timers.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[TimerValue]

Timer object of specified node defined in architecture file.

get_variable_passings(node) #

Get variable passings.

Parameters:

Name Type Description Default
node NodeValue

Target node value.

required

Returns:

Type Description
list[VariablePassingValue]

Variable passing object of specified node defined in architecture file.

InfraBase #

infrastructure base class.

Lttng #

Bases: InfraBase

Lttng data container class.

This class is a singleton in order to retain information. The main processing is done by LttngInfo and RecordsSource.

apply_init_timestamp(events, monotonic_to_system_offset) staticmethod #

Apply init timestamp.

Parameters:

Name Type Description Default
events list

event data.

required
monotonic_to_system_offset int | None

monotonic to system offset.

required

compose_callback_records() #

Compose callback records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • callback_start_timestamp
  • callback_end_timestamp
  • callback_object

compose_intra_proc_comm_records() #

Compose intra process communication records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • tid
  • callback_object
  • callback_start_timestamp
  • publisher_handle
  • rclcpp_publish_timestamp
  • message_timestamp

compose_path_beginning_records() #

Compose callback records.

Used to evaluate the beginning node of a path.

Returns:

Type Description
RecordsInterface

Columns

  • callback_start_timestamp
  • rclcpp_publish_timestamp
  • callback_object
  • publisher_handle

compose_publish_records() #

Compose publish records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • publisher_handle
  • rclcpp_publish_timestamp
  • rcl_publish_timestamp (Optional)
  • dds_write_timestamp (Optional)
  • message_timestamp
  • source_timestamp

compose_rmw_take_records() #

Compose rmw_take records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • tid
  • rmw_take_timestamp
  • rmw_subscription_handle
  • message
  • source_timestamp

compose_subscribe_records() #

Compose subscribe records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • callback_start_timestamp
  • callback_object
  • is_intra_process
  • source_timestamp

compose_tilde_publish_records() #

Compose tilde publish records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • tilde_publish_timestamp
  • tilde_publisher
  • tilde_message_id
  • tilde_subscription

compose_tilde_subscribe_records() #

Compose tilde subscribe records of all communications in one records.

Returns:

Type Description
RecordsInterface

Columns

  • tilde_subscribe_timestamp
  • tilde_subscription
  • tilde_message_id

create_timer_events_factory(timer_callback) #

Create timer events factory.

Parameters:

Name Type Description Default
timer_callback TimerCallbackValueLttng

Timer callback.

required

Returns:

Type Description
EventsFactory

Callback to create timer events.

get_callback_groups(node) #

Get callback group information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[CallbackGroupValue]

Callback group value.

get_count(groupby=None) #

Get count.

Parameters:

Name Type Description Default
groupby list[str] | None

Data group.

None

Returns:

Type Description
DataFrame

Event counter in pandas DataFrame format.

get_executors() #

Get executors information.

Returns:

Type Description
Sequence[ExecutorValue]

Executor values

get_node_names_and_cb_symbols(callback_group_id) #

Get node names and callback symbols from callback group id.

Parameters:

Name Type Description Default
callback_group_id str

Callback group id.

required

Returns:

Type Description
Sequence[tuple[str | None, str | None]]

Node names and callback symbols. tuple structure: (node_name, callback_symbol)

get_nodes() #

Get nodes.

Returns:

Type Description
Sequence[NodeValueWithId]

Nodes value.

get_publisher_qos(pub) #

Get publisher qos.

Parameters:

Name Type Description Default
pub PublisherValueLttng

Target publisher.

required

Returns:

Type Description
Qos

Publisher qos

get_publishers(node) #

Get publishers information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[PublisherValueLttng]

Publisher value.

get_rmw_impl() #

Get rmw implementation.

Returns:

Type Description
str

Name of rmw implementation.

get_service_callbacks(node) #

Get service callbacks information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[ServiceCallbackValueLttng]

Service callback value

get_services(node) #

Get services information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[ServiceValue]

Service value

get_sim_time_converter(min_ns, max_ns) #

Get sim time converter.

Parameters:

Name Type Description Default
min_ns float

Min time.

required
max_ns float

Max time.

required

Returns:

Type Description
ClockConverter

Clock converter

Raises:

Type Description
InvalidArgumentError

Failed to load sim_time.

get_subscription_callbacks(node) #

Get subscription callbacks information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[SubscriptionCallbackValueLttng]

Subscription callback value

get_subscription_qos(sub) #

Get subscription qos.

Parameters:

Name Type Description Default
sub SubscriptionCallbackValueLttng

Target subscription.

required

Returns:

Type Description
Qos

Subscription qos

get_subscriptions(node) #

Get subscriptions information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[SubscriptionValue]

Subscription value.

get_timer_callbacks(node) #

Get timer callback values.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[TimerCallbackValueLttng]

Timer callback value

get_timers(node) #

Get timers information.

Parameters:

Name Type Description Default
node NodeValue

Target node.

required

Returns:

Type Description
Sequence[TimerValue]

Timer value

get_trace_creation_datetime() #

Get trace creation datetime.

Returns:

Type Description
datetime

Date and time the trace data was created.

get_trace_range() #

Get trace range.

Returns:

Type Description
tuple[datetime, datetime]

Trace begin time and trace end time.

RecordsProvider #

callback_records(callback_info) abstractmethod #

Compose callback records.

Parameters:

Name Type Description Default
callback_info CallbackStructValue

Static info of callback.

required

Returns:

Type Description
RecordsInterface

Records interface

variable_passing_records(variable_passing_info) abstractmethod #

Compose variable passing records.

Parameters:

Name Type Description Default
variable_passing_info VariablePassingStructValue

variable passing information

required

Returns:

Type Description
RecordsInterface

Records interface

RecordsProviderLttng #

Bases: RuntimeDataProvider

Records are processed and measurement results are calculated.

In addition to merging, filtering and other operations are performed here.

callback_records(callback) #

Return callback duration records.

Parameters:

Name Type Description Default
callback CallbackStructValue

Target callback value.

required

Returns:

Type Description
RecordsInterface

Columns

  • [callback_name]/callback_start_timestamp
  • [callback_name]/callback_end_timestamp

communication_records(comm_val) #

Provide communication records.

Parameters:

Name Type Description Default
comm_val CommunicationStructValue

communication value.

required

Returns:

Type Description
RecordsInterface

Columns

If inter-proc communication

  • [topic_name]/rclcpp_publish_timestamp
  • [topic_name]/rcl_publish_timestamp (Optional)
  • [topic_name]/dds_publish_timestamp (Optional)
  • [topic_name]/source_timestamp
  • [callback_name]/callback_start_timestamp

If intra-proc communication

  • [topic_name]/rclcpp_publish_timestamp
  • [callback_name]/callback_start_timestamp

get_qos(pub_sub) #

Get qos.

Parameters:

Name Type Description Default
pub_sub PublisherStructValue | SubscriptionStructValue

Target subscription or publisher.

required

Returns:

Type Description
Qos

Subscription qos or publisher qos.

Raises:

Type Description
InvalidArgumentError

Occurs when callback were not exist.

get_rmw_implementation() #

Get rmw implementation.

Returns:

Type Description
str

Rmw implementation.

get_sim_time_converter(min_ns, max_ns) #

Get sim time converter.

Parameters:

Name Type Description Default
min_ns float

Minimum timestamp value of the data used to create the system time to sim_time converter.

required
max_ns float

Maximum timestamp value of the data used to create the system time to sim_time converter.

required

Returns:

Type Description
ClockConverter

Object that converts timestamps from system time to sim_time.

Raises:

Type Description
InvalidArgumentError

Failed to load sim_time.

is_intra_process_communication(communication_value) #

If inter-proc communication.

Parameters:

Name Type Description Default
communication_value CommunicationStructValue

Communication value.

required

Returns:

Type Description
bool | None

Intra process communication records count.

node_records(node_path_val) #

Provide node records.

Parameters:

Name Type Description Default
node_path_val NodePathStructValue

Node path value.

required

Returns:

Type Description
RecordsInterface

Record corresponding to specified message context type.

Raises:

Type Description
UnsupportedNodeRecordsError

Occurs when message context type is unknown.

path_beginning_records(publisher) #

Return records from callback_start to publish.

Parameters:

Name Type Description Default
publisher PublisherStructValue

Target publisher.

required

Returns:

Type Description
RecordsInterface

Columns

  • [node_name]/callback_start_timestamp
  • [topic_name]/rclcpp_publish_timestamp

path_end_records(callback) #

Return records from callback_start to callback_end.

Parameters:

Name Type Description Default
callback CallbackStructValue

Target callback.

required

Returns:

Type Description
RecordsInterface

Columns

  • [callback_name]/callback_start_timestamp
  • [callback_name]/callback_end_timestamp

publish_records(publisher) #

Return publish records.

Parameters:

Name Type Description Default
publisher PublisherStructValue

Target publisher.

required

Returns:

Type Description
RecordsInterface

(in the case of tilde publisher)

Columns

  • [topic_name]/rclcpp_publish_timestamp
  • [topic_name]/rcl_publish_timestamp (Optional)
  • [topic_name]/dds_write_timestamp (Optional)
  • [topic_name]/message_timestamp
  • [topic_name]/source_timestamp
  • [topic_name]/tilde_publish_timestamp
  • [topic_name]/tilde_message_id

(for cases other than tilde publisher)

Columns

  • [topic_name]/rclcpp_publish_timestamp
  • [topic_name]/rcl_publish_timestamp (Optional)
  • [topic_name]/dds_write_timestamp (Optional)
  • [topic_name]/message_timestamp
  • [topic_name]/source_timestamp

subscribe_records(subscription) #

Provide subscription records.

Parameters:

Name Type Description Default
subscription SubscriptionStructValue

Target subscription value.

required

Returns:

Type Description
RecordsInterface

Columns

  • [callback_name]/callback_start_timestamp
  • [topic_name]/source_timestamp

Raises:

Type Description
InvalidArgumentError

Occurs when callback value were not exist.

subscription_take_records(subscription) #

Provide subscription records.

This method is implemented for nodes which receive messages by 'take' method instead of subscription callbacks.

Parameters:

Name Type Description Default
subscription SubscriptionStructValue

Target subscription value.

required

Returns:

Type Description
RecordsInterface

Columns

  • [topic_name]/source_timestamp
  • rmw_take_timestamp

Raises:

Type Description
InvalidArgumentError

Occurs when callback value were not exist.

tilde_records(subscription, publisher) #

Return tilde records.

Parameters:

Name Type Description Default
subscription SubscriptionStructValue

Target subscription value.

required
publisher PublisherStructValue

Target publisher value.

required

Returns:

Type Description
RecordsInterface

Columns

  • tilde_subscribe_timestamp
  • tilde_publish_timestamp

timer_records(timer) #

Return timer records.

Parameters:

Name Type Description Default
timer TimerStructValue

Target timer.

required

Returns:

Type Description
RecordsInterface

Columns

  • [callback_name]/timer_event
  • [callback_name]/callback_start
  • [callback_name]/callback_end

variable_passing_records(variable_passing_info) #

Return variable passing records.

Parameters:

Name Type Description Default
variable_passing_info VariablePassingStructValue

Target variable passing info.

required

Returns:

Type Description
RecordsInterface

Columns

  • [callback_name]/callback_end_timestamp
  • [callback_name]/callback_start_timestamp

verify_communication(communication) #

Verify communication.

Parameters:

Name Type Description Default
communication CommunicationStructValue

Communication value.

required

Returns:

Type Description
bool

True if the trace points required to constitute a communication record are included in the trace data, false otherwise.