You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/tutorials/advanced/tracing/index.md
+11-29Lines changed: 11 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,29 +48,22 @@ If the ROS 2 development tools and dependencies are not installed on your machin
48
48
Now we'll download all the necessary packages. First, create your workspace.
49
49
50
50
```bash
51
-
$ mkdir ~/ros2_ws
51
+
$ mkdir -p ~/ros2_ws/src
52
52
$ cd ros2_ws/
53
53
```
54
54
55
-
Then clone everything using the following `.repos` file. It includes the core ROS 2 packages with instrumented versions of `rcl` and `rclcpp`, as well as the tracing tools and tracing analysis repos.
55
+
The `rcl` and `rclcpp` instrumentation has been integrated into Eloquent, so we simply need to recompile `ros2_tracing` & compile `tracetools_analysis`.
The last part of the `babeltrace` output is shown above. This is a human-readable version of the raw Common Trace Format (CTF) data, which is a list of events. Each event has a timestamp, an event type, some information on the process that generated the event, and the fields corresponding to the event type. The last events of our trace are pairs of `ros2:callback_start` and `ros2:callback_end` events. Each contains a reference to its corresponding callback.
104
+
The last part of the `babeltrace` output is shown above. This is a human-readable version of the raw Common Trace Format (CTF) data, which is a list of events. Each event has a timestamp, an event type, some information on the process that generated the event, and the fields corresponding to the event type. The last events of our trace are pairs of `ros2:callback_start` and `ros2:callback_end` events. Each one contains a reference to its corresponding callback.
112
105
113
-
It's now time to process the trace data! The `tracetools_analysis` package provides tools to import and process the results. We can first convert the CTF data to a pickle file. Then we can process it to get `pandas` dataframes which we can use later to run analyses.
106
+
It's now time to process the trace data! The `tracetools_analysis` package provides tools to import a trace and process it. Since reading a CTF trace is slow, it first converts it to a file which we can read much faster later on. Then we can process it to get `pandas` dataframes and use those to run analyses.
114
107
115
108
```bash
116
-
$ ros2 run tracetools_analysis convert ~/.ros/tracing/my-tracing-session/ust
117
-
$ ros2 run tracetools_analysis process ~/.ros/tracing/my-tracing-session/ust/pickle
109
+
$ ros2 trace-analysis process ~/.ros/tracing/my-tracing-session/ust/
118
110
```
119
111
120
112
<center>
@@ -143,16 +135,6 @@ The resulting plots for the `/ping` and `/pong` subscriptions are shown below. W
Now that the groundwork is done, the next steps are:
149
-
150
-
* Submit PRs for `rcl` and `rclcpp` instrumentation. We are aiming for the instrumentation to be included in ROS 2 Eloquent (November 2019).
151
-
* Add more analyses.
152
-
* Test on real hardware, and compare analysis results to other tools.
153
-
* Release first version of packages.
154
-
* Work on providing swappable `tracetools` packages (a default package with tracing being disabled, and another one with tracing being enabled).
155
-
156
-
The tracing packages can be found [here](https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing). The analysis tools can be found [here](https://gitlab.com/micro-ROS/ros_tracing/tracetools_analysis).
138
+
## Relevant links
157
139
158
-
Let us know if you have any questions, or if you'd like to get involved!
140
+
The tracing packages can be found in the [`ros2_tracing` repo](https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing). The analysis tools can be found in the [`tracetools_analysis` repo](https://gitlab.com/micro-ROS/ros_tracing/tracetools_analysis).
0 commit comments