diff --git a/trace-analysis.ipynb b/trace-analysis.ipynb index d3e2c12..9716f54 100644 --- a/trace-analysis.ipynb +++ b/trace-analysis.ipynb @@ -282,67 +282,6 @@ "print(\"Done.\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "##################################################\n", - "# Split /tf into Artificial Topics\n", - "##################################################\n", - "# /tf is one ROS2 topic but carries multiple\n", - "# different streams of information:\n", - "# One for each publisher of the /tf topic.\n", - "# We can separate the messages on /tf according\n", - "# to those publishers.\n", - "# Still, all subscribers to /tf are subscribed\n", - "# to ALL of those split topics, so the\n", - "# found dependencies are still a vast over-\n", - "# approximation of the actual dataflow.\n", - "##################################################\n", - "\n", - "tf_topic: TrTopic = topics.by_name[\"/tf\"]\n", - "\n", - "tf_split_topics = []\n", - "for pub in tf_topic.publishers:\n", - " pub: TrPublisher\n", - " topic = TrTopic(f\"/tf[{pub.node.path}_{pub.id}]\", _tracing_context)\n", - " pub.topic_name = topic.name\n", - " for sub in tf_topic.subscriptions:\n", - " sub.topic_names.append(topic.name)\n", - "\n", - " tf_split_topics.append(topic)\n", - "\n", - "print(\"Rebuilding subscription index\")\n", - "subscriptions.rebuild()\n", - "print(\"Rebuilding publisher index\")\n", - "publishers.rebuild()\n", - "print(\"Adding new topics and rebuilding topic index\")\n", - "topics.append(tf_split_topics)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "print(\"Artificial TF topics (/tf[...]):\")\n", - "for t in tf_split_topics:\n", - " print(f\"{t.name:.<110s} | {len(t.publishers)} pubs, {sum(map(lambda p: len(p.instances), t.publishers))}\")\n", - " for sub in t.subscriptions:\n", - " print(f\" {sub.node.path:.<106s} | {len(sub.subscription_object.callback_object.callback_instances)} {len(sub.node.publishers)} {sum(map(lambda p: len(p.instances), sub.node.publishers))}\")\n", - " #prefix = os.path.split(sub.node.path)[0]\n", - " #for node in nodes:\n", - " # if node.path.startswith(prefix) and node.path.removeprefix(prefix).count(\"/\") <= 1 and \"transform_listener_impl\" not in node.path:\n", - " # print(f\" -> {' ' * (len(prefix) - 3)}{node.path.removeprefix(prefix)}\")" - ] - }, { "cell_type": "code", "execution_count": null,