started anaylsis work
This commit is contained in:
parent
1f6e0c9e86
commit
d11d6afd40
9 changed files with 166075 additions and 102 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -8,3 +8,9 @@ cache/
|
||||||
*.log
|
*.log
|
||||||
*.svg
|
*.svg
|
||||||
*.gv
|
*.gv
|
||||||
|
|
||||||
|
traces/
|
||||||
|
venv310/
|
||||||
|
**/build/
|
||||||
|
**/install/
|
||||||
|
**/log/
|
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal 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
11
dependencies/colcon_defaults.yaml
vendored
Normal 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
1
dependencies/src/ros2_tracing
vendored
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 548634dd2837d65c043436c8186614e924be5c6c
|
1
dependencies/src/tracetools_analysis
vendored
Submodule
1
dependencies/src/tracetools_analysis
vendored
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 838b97200023a1be6f9bae32240ee4118a15b6b9
|
|
@ -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)]
|
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)]
|
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("Input Nodes:", ', '.join(map(lambda n: n, input_nodes)))
|
||||||
print(', '.join(map(lambda n: n, output_nodes)))
|
print("Output Nodes:", ', '.join(map(lambda n: n, output_nodes)))
|
||||||
print(', '.join(map(lambda n: n.full_name, lvl_nodes)))
|
print("Intermediate Nodes:", ', '.join(map(lambda n: n.full_name, lvl_nodes)))
|
||||||
|
|
||||||
def _collect_callbacks(n: lg.LGHierarchyLevel):
|
def _collect_callbacks(n: lg.LGHierarchyLevel):
|
||||||
callbacks = []
|
callbacks = []
|
||||||
|
|
|
@ -221,7 +221,7 @@ class LatencyGraph:
|
||||||
nodes_to_cbs[node] = set()
|
nodes_to_cbs[node] = set()
|
||||||
nodes_to_cbs[node].add(cb)
|
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
|
# Find in/out topics for each callback
|
||||||
|
|
|
@ -108,6 +108,8 @@ def build_dep_trees(end_topics, lat_graph, tr, excluded_path_patterns, time_limi
|
||||||
end_topic: TrTopic
|
end_topic: TrTopic
|
||||||
print(f"====={end_topic.name}")
|
print(f"====={end_topic.name}")
|
||||||
|
|
||||||
|
tree_count = 0
|
||||||
|
|
||||||
pubs = end_topic.publishers
|
pubs = end_topic.publishers
|
||||||
for pub in pubs:
|
for pub in pubs:
|
||||||
msgs = list(pub.instances)
|
msgs = list(pub.instances)
|
||||||
|
@ -115,6 +117,8 @@ def build_dep_trees(end_topics, lat_graph, tr, excluded_path_patterns, time_limi
|
||||||
msg: TrPublishInstance
|
msg: TrPublishInstance
|
||||||
tree = get_dep_tree(msg, lat_graph, tr, excluded_path_patterns, time_limit_s, exact_path=exact_path)
|
tree = get_dep_tree(msg, lat_graph, tr, excluded_path_patterns, time_limit_s, exact_path=exact_path)
|
||||||
all_trees.append(tree)
|
all_trees.append(tree)
|
||||||
|
tree_count += 1
|
||||||
|
print(f"Found {tree_count} trees for topic {end_topic.name}")
|
||||||
return all_trees
|
return all_trees
|
||||||
|
|
||||||
|
|
||||||
|
|
166140
trace-analysis.ipynb
166140
trace-analysis.ipynb
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue