Merge branch 'tblass/enable-tracing-by-default' into 'master'
Enable tracing by default if LTTng is available See merge request micro-ROS/ros_tracing/ros2_tracing!63
This commit is contained in:
commit
b862f92c9f
5 changed files with 54 additions and 64 deletions
|
@ -26,15 +26,16 @@ build_enabled:
|
|||
- lttng-sessiond --daemonize
|
||||
- colcon build --symlink-install --packages-up-to $PACKAGES_LIST
|
||||
- . install/local_setup.sh
|
||||
- ./build/tracetools/status
|
||||
- colcon test --packages-select $PACKAGES_LIST
|
||||
- colcon test-result
|
||||
<<: *global_artifacts
|
||||
|
||||
build:
|
||||
script:
|
||||
- rm colcon.meta
|
||||
- colcon build --symlink-install --packages-up-to $PACKAGES_LIST
|
||||
- colcon build --symlink-install --cmake-args " -DTRACETOOLS_DISABLED=ON" --packages-up-to $PACKAGES_LIST
|
||||
- . install/local_setup.sh
|
||||
- (! ./build/tracetools/status)
|
||||
- colcon test --packages-select $PACKAGES_LIST
|
||||
- colcon test-result
|
||||
<<: *global_artifacts
|
||||
|
|
|
@ -4,7 +4,7 @@ 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.
|
||||
If the `TRACETOOLS_DISABLED` option is enabled during build or if LTTng is not found, then this package will not do anything.
|
||||
|
||||
To enable tracing:
|
||||
|
||||
|
@ -16,9 +16,9 @@ To enable tracing:
|
|||
$ 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:
|
||||
2. Build
|
||||
```
|
||||
$ colcon build --cmake-args " -DWITH_LTTNG=ON"
|
||||
$ colcon build
|
||||
```
|
||||
3. Source and check that tracing is enabled:
|
||||
```
|
||||
|
|
14
colcon.meta
14
colcon.meta
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"names": {
|
||||
"tracetools": {
|
||||
"cmake-args": [
|
||||
"-DWITH_LTTNG=ON",
|
||||
],
|
||||
},
|
||||
"tracetools_test": {
|
||||
"cmake-args": [
|
||||
"-DWITH_LTTNG=ON",
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
|
@ -12,21 +12,17 @@ endif()
|
|||
|
||||
find_package(ament_cmake_ros REQUIRED)
|
||||
|
||||
option(WITH_LTTNG "Include support for tracing with LTTng" OFF)
|
||||
if(WITH_LTTNG)
|
||||
# Try to find LTTng
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LTTNG REQUIRED lttng-ust)
|
||||
endif()
|
||||
if(LTTNG_FOUND)
|
||||
set(LTTNG_TP_FILES
|
||||
include/tracetools/tp_call.h
|
||||
src/tp_call.c
|
||||
)
|
||||
option(TRACETOOLS_DISABLED "Explicitly disable support for tracing with LTTng" OFF)
|
||||
if(NOT TRACETOOLS_DISABLED)
|
||||
# Set TRACING_ENABLED if we can find lttng-ust
|
||||
find_package(PkgConfig)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(LTTNG lttng-ust)
|
||||
if(LTTNG_FOUND)
|
||||
set(TRACING_ENABLED TRUE)
|
||||
message("LTTng found: tracing enabled")
|
||||
elseif(WITH_LTTNG)
|
||||
message("LTTng NOT found: tracing disabled")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include_directories(include)
|
||||
|
@ -54,7 +50,10 @@ set(SOURCES
|
|||
src/utils.cpp
|
||||
)
|
||||
if(TRACING_ENABLED)
|
||||
list(APPEND SOURCES ${LTTNG_TP_FILES})
|
||||
list(APPEND SOURCES
|
||||
include/tracetools/tp_call.h
|
||||
src/tp_call.c
|
||||
)
|
||||
endif()
|
||||
|
||||
add_library(${PROJECT_NAME} SHARED ${SOURCES})
|
||||
|
@ -92,7 +91,7 @@ if(BUILD_TESTING)
|
|||
ament_lint_auto_find_test_dependencies()
|
||||
|
||||
# Only build tracetools utils tests if LTTng is enabled and found
|
||||
if(TRACETOOLS_LTTNG_ENABLED)
|
||||
if(TRACING_ENABLED)
|
||||
ament_add_gtest(test_utils test/test_utils.cpp)
|
||||
if(TARGET test_utils)
|
||||
target_link_libraries(test_utils ${PROJECT_NAME} -rdynamic)
|
||||
|
|
|
@ -12,7 +12,17 @@ endif()
|
|||
|
||||
find_package(ament_cmake REQUIRED)
|
||||
|
||||
option(WITH_LTTNG "Include support for tracing with LTTng" OFF)
|
||||
option(TRACETOOLS_DISABLED "Explicitly disable support for tracing with LTTng" OFF)
|
||||
if(NOT TRACETOOLS_DISABLED)
|
||||
# Set TRACING_ENABLED if we can find lttng-ust
|
||||
find_package(PkgConfig)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(LTTNG lttng-ust)
|
||||
if(LTTNG_FOUND)
|
||||
set(TRACING_ENABLED TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Tests
|
||||
if(BUILD_TESTING)
|
||||
|
@ -119,12 +129,7 @@ if(BUILD_TESTING)
|
|||
ament_lint_auto_find_test_dependencies()
|
||||
|
||||
# Only build tracing tests if LTTng is enabled and found
|
||||
if(WITH_LTTNG)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LTTNG REQUIRED lttng-ust)
|
||||
if(LTTNG_FOUND)
|
||||
message("LTTng found: tracing tests enabled")
|
||||
|
||||
if(TRACING_ENABLED)
|
||||
find_package(ament_cmake_pytest REQUIRED)
|
||||
|
||||
# Run each test in its own pytest invocation
|
||||
|
@ -149,7 +154,6 @@ if(BUILD_TESTING)
|
|||
)
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
ament_package()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue