No description
Find a file
2019-07-08 09:01:12 +00:00
doc Add space between ROS and 2 2019-07-01 11:08:00 +02:00
docker-ci-base Only prepare dependencies, not also the instrumented libs. 2019-07-05 09:27:04 +00:00
ros2trace Fix lint and formatting errors 2019-06-24 16:13:42 +02:00
tracetools Switch to ament_cmake_ros for tracetools 2019-07-05 10:42:37 +02:00
tracetools_launch Use ping pong nodes in example launch file 2019-06-28 09:36:22 +02:00
tracetools_read Uncomment exec_depend on python3-babeltrace for tracetools_read 2019-07-04 08:56:42 +02:00
tracetools_test Add -rdynamic to tests 2019-07-03 15:22:04 +02:00
tracetools_trace Fix trace args description 2019-06-28 08:58:01 +02:00
.gitlab-ci.yml Update .gitlab-ci.yml 2019-07-08 09:01:12 +00:00
all.repos Create complete source repos list 2019-07-04 15:37:27 +00:00
ci_source_deps.repos Re-order CI dependencies list 2019-07-03 13:10:09 +02:00
colcon.meta Add example colcon.meta file 2019-07-04 14:21:05 +02:00
instrumentation.repos Make CI only build necessary packages from source 2019-06-25 11:30:43 +02:00
LICENSE Add license file 2019-06-18 08:53:46 +02:00
README.md Fix wording in README 2019-06-27 16:36:24 +02:00

tracetools

Tracing tools for ROS 2.

Building

If tracing is not enabled when building, or if LTTng is not found, then this package will not do anything.

To enable tracing:

  1. Install LTTng with the Python bindings to control tracing and read traces:
    $ sudo apt-add-repository ppa:lttng/stable-2.10
    $ sudo apt-get update
    $ sudo apt-get install lttng-tools lttng-modules-dkms liblttng-ust-dev
    $ sudo apt-get install python3-babeltrace python3-lttng
    
    Note: the LTTng stable 2.10 PPA is used to get newer versions of the packages.
  2. Build with the WITH_LTTNG flag:
    $ colcon build --cmake-args " -DWITH_LTTNG=ON"
    
  3. Source and check that tracing is enabled:
    $ source ./install/local_setup.bash
    $ ros2 run tracetools tracetools_status
    

Tracing

The steps above will not lead to trace data being generated, and thus they will have no impact on execution. LTTng has to be enabled. The packages in this repo provide two options.

Trace command

The first option is to use the ros2 trace command.

$ ros2 trace

By default, it will enable all ROS tracepoints and a few kernel tracepoints. The trace will be written to /tmp/session-YYYYMMDDHHMMSS. Run the command with -h for more information.

Launch file trace action

Another option is to use the Trace action in a launch file along with your Node action(s).

See this example launch file for more information.