started anaylsis work

This commit is contained in:
Niklas Halle 2025-06-03 13:43:48 +00:00
parent 1f6e0c9e86
commit d11d6afd40
9 changed files with 166075 additions and 102 deletions

6
.gitignore vendored
View file

@ -8,3 +8,9 @@ cache/
*.log
*.svg
*.gv
traces/
venv310/
**/build/
**/install/
**/log/

6
.gitmodules vendored Normal file
View file

@ -0,0 +1,6 @@
[submodule "dependencies/src/ros2_tracing"]
path = dependencies/src/ros2_tracing
url = git@github.com:ros2/ros2_tracing.git
[submodule "dependencies/src/tracetools_analysis"]
path = dependencies/src/tracetools_analysis
url = git@gitlab.com:ros-tracing/tracetools_analysis.git

11
dependencies/colcon_defaults.yaml vendored Normal file
View file

@ -0,0 +1,11 @@
{
"build":{
"symlink-install": true,
"cmake-args": [
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
"-DCMAKE_EXPORT_COMPILE_COMMANDS=True",
# no tests
"-DBUILD_TESTING=OFF",
],
}
}

1
dependencies/src/ros2_tracing vendored Submodule

@ -0,0 +1 @@
Subproject commit 548634dd2837d65c043436c8186614e924be5c6c

@ -0,0 +1 @@
Subproject commit 838b97200023a1be6f9bae32240ee4118a15b6b9

View file

@ -113,9 +113,9 @@ def plot_latency_graph_overview(lat_graph: lg.LatencyGraph, excl_node_patterns,
input_nodes = [n.full_name for n in lvl_nodes if any(re.search(p, n.full_name) for p in input_node_patterns)]
output_nodes = [n.full_name for n in lvl_nodes if any(re.search(p, n.full_name) for p in output_node_patterns)]
print(', '.join(map(lambda n: n, input_nodes)))
print(', '.join(map(lambda n: n, output_nodes)))
print(', '.join(map(lambda n: n.full_name, lvl_nodes)))
print("Input Nodes:", ', '.join(map(lambda n: n, input_nodes)))
print("Output Nodes:", ', '.join(map(lambda n: n, output_nodes)))
print("Intermediate Nodes:", ', '.join(map(lambda n: n.full_name, lvl_nodes)))
def _collect_callbacks(n: lg.LGHierarchyLevel):
callbacks = []

View file

@ -221,7 +221,7 @@ class LatencyGraph:
nodes_to_cbs[node] = set()
nodes_to_cbs[node].add(cb)
print(f"[ENTKÄFERN] {ownerless_cbs} callbacks have no owner, filtering them out.")
print(f"[DEBUG] {ownerless_cbs} callbacks have no owner, filtering them out.")
##################################################
# Find in/out topics for each callback

View file

@ -108,6 +108,8 @@ def build_dep_trees(end_topics, lat_graph, tr, excluded_path_patterns, time_limi
end_topic: TrTopic
print(f"====={end_topic.name}")
tree_count = 0
pubs = end_topic.publishers
for pub in pubs:
msgs = list(pub.instances)
@ -115,6 +117,8 @@ def build_dep_trees(end_topics, lat_graph, tr, excluded_path_patterns, time_limi
msg: TrPublishInstance
tree = get_dep_tree(msg, lat_graph, tr, excluded_path_patterns, time_limit_s, exact_path=exact_path)
all_trees.append(tree)
tree_count += 1
print(f"Found {tree_count} trees for topic {end_topic.name}")
return all_trees

File diff suppressed because one or more lines are too long