Skip to content

Commit e0fc816

Browse files
tkimura4mitsudome-rito-sankmiyannmm
authored
feat: add autoware_system_monitor package (#14)
* release v0.4.0 * Fixed uninitialized variable. (#763) * Fixed various bugs. (#768) * Fixed various bugs. * Fixed wrong status report of NIC. * Added the mode of CPU Usage to check statistics calculated as averages among all processors by default. (#788) * fix uninitialized variables (#816) * remove ROS1 packages temporarily Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Revert "remove ROS1 packages temporarily" This reverts commit a9436882d50dc09fa5b8d6c0a151a10def76b242. Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * add COLCON_IGNORE to ros1 packages Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Rename launch files to launch.xml (#28) * Port system monitor to ros2 (#71) * Implement a utility function that spins and updates a monitor node. * Port cpu monitor * Port hdd monitor. * Port mem_monitor to ROS2 * Port net_monitor to ROS2 * Port ntp_monitor to ROS2 * Port process_monitor to ROS2 * Port GPU_monitor to ROS2 * Port msr_reader and hdd_reader to ROS2 * Clean up the build and launch files: * Clean up and comment on CMake and package files. * Port the launch file to ROS2 * Rename h files to hpp (#142) * Change includes * Rename files * Adjustments to make things compile * Other packages * Adjust copyright notice on 532 out of 699 source files (#143) * Use quotes for includes where appropriate (#144) * Use quotes for includes where appropriate * Fix lint tests * Make tests pass hopefully * Run uncrustify on the entire Pilot.Auto codebase (#151) * Run uncrustify on the entire Pilot.Auto codebase * Exclude open PRs * ROS2 Linting: system_monitor (#207) * Add linters * Fix clang-tidy error in util.hpp * Ros2 v0.8.0 system monitor (#276) * fix dependency of system_monitor Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Rename ROS-related .yaml to .param.yaml (#352) * Rename ROS-related .yaml to .param.yaml Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Remove prefix 'default_' of yaml files Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Rename vehicle_info.yaml to vehicle_info.param.yaml Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Rename diagnostic_aggregator's param files Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix overlooked parameters Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Exclude SwPowerCap as an error. (autowarefoundation#1146) (#364) Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com> * [Update v0.9.0] system monitor (#365) * Disable CPU Load Average warning. (autowarefoundation#1147) Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Fix cpu_monitor respawning forever. (autowarefoundation#1150) * Disable cpu_temperature in planning simulation (autowarefoundation#1151) Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Net Monitor: Handle as an error if specified device not exist. (autowarefoundation#1152) * Handled as an error if specified device not exist. * Disable network diags in simulation Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp> * apply ament_uncrustify Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Disable resource monitoring in planning_simulator (autowarefoundation#1172) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Treat logging errors as safe faults (autowarefoundation#1164) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix test code of system_monitor (autowarefoundation#1178) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com> Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> * Use thread for ntpdate. (autowarefoundation#1160) (#375) * Use thread for ntpdate. (autowarefoundation#1160) Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * removed unused variable Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> * Import v0.9.1 (#431) * add local optimal solution ocillation check to ndt_scan_matcher (autowarefoundation#1182) * Add obstacle_crush diagnostic (autowarefoundation#1186) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix diagnostics api (autowarefoundation#1185) * Fix diagnostics api Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Don't overwrite level Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Overwrite level of No Fault diagnostics Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Add missing diag in autoware_error_monitor.yaml (autowarefoundation#1187) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Filter hazard_status (autowarefoundation#1191) * Filter hazard_status Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Filter leaf diagnostics Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix wrong calculation of available memory. (autowarefoundation#1168) * Fixed wrong calculation of available memory. * Added comments about output example of free -tb command. * Change monitoring method to get HDD temperature and usage per specified device. (autowarefoundation#1195) * Changed monitoring method to get temperature and usage per specified device. * Fixed test codes. * Removed unnecessary (void) parameter. * return input pointcloud when ground plane not found (autowarefoundation#1190) * fix yaw-smoothing bug (autowarefoundation#1198) * Fix lint Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp> Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com> Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp> * Fix typo in system module (#434) * Fix typo in system module * Change variable name * Move comments * Apply uncrustify * Split system_monitor config (#452) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Remove unnecessary diagnostic update. (#455) * add use_sim-time option (#454) * Sync public repo (autowarefoundation#1228) * [simple_planning_simulator] add readme (#424) * add readme of simple_planning_simulator Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com> * Update simulator/simple_planning_simulator/README.md * set transit_margin_time to intersect. planner (#460) * Fix pose2twist (#462) Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Ros2 vehicle info param server (#447) * add vehicle_info_param_server * update vehicle info * apply format * fix bug * skip unnecessary search * delete vehicle param file * fix bug * Ros2 fix topic name part2 (#425) * Fix topic name of traffic_light_classifier Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix topic name of traffic_light_visualization Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix topic name of traffic_light_ssd_fine_detector Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix topic name of traffic_light_map_based_detector Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix lint traffic_light_recognition Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix lint traffic_light_ssd_fine_detector Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix lint traffic_light_classifier Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix lint traffic_light_classifier Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix lint traffic_light_ssd_fine_detector Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp> * Fix issues in hdd_reader (#466) * Fix some issues detected by Coverity Scan and Clang-Tidy * Update launch command * Add more `close(new_sock)` * Simplify the definitions of struct * fix: re-construct laneletMapLayer for reindex RTree (#463) * Rviz overlay render fix (#461) * Moved painiting in SteeringAngle plugin to update() Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * super class now back to MFD Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * uncrustified Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * acquire data in mutex Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * back to RTD as superclass Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * Rviz overlay render in update (#465) * Moved painiting in SteeringAngle plugin to update() Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * super class now back to MFD Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * uncrustified Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * acquire data in mutex Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * removed unnecessary includes and some dead code Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * Adepted remaining vehicle plugin classes to render-in-update concept. Returned to MFD superclass Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> * restored RTD superclass Signed-off-by: Adam Dabrowski <adam.dabrowski@robotec.ai> Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com> Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp> Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com> Co-authored-by: Kazuki Miyahara <kmiya@outlook.com> Co-authored-by: Makoto Tokunaga <vios-fish@users.noreply.github.com> Co-authored-by: Adam Dąbrowski <adam.dabrowski@robotec.ai> * Fix issues in gpu_monitor (autowarefoundation#1248) * Fix issues in gpu_monitor * Fix uninitialized variables * Use range-based for loop * Fix compile errors of tegra_gpu_monitor * Replace C-style to C++-style * Make iterators const * Fix fmt::format() usage error * Unify Apache-2.0 license name (autowarefoundation#1242) * Remove use_sim_time for set_parameter (autowarefoundation#1260) Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * [system_monitor] change some nodes into components (autowarefoundation#1234) Signed-off-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com> Co-authored-by: Takeshi Miura <takeshi.miura@tier4.jp> Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp> * add system_monitor.launch.py (autowarefoundation#1238) * add system_monitor.launch.py * refactor system_monitor.launch.py * fix launch bug * fix typo * fix launch py * fix param loading * format code * fix system monitor executor to publish diagnostics asynclonously (autowarefoundation#1283) * Fix lint errors (autowarefoundation#1378) * Fix lint errors Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix variable names Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Add kernel CPU usage. (autowarefoundation#1465) * Add kernel CPU usage. * Change CPU x: usage to CPU x: total. * Changed variable name. * Add markdownlint and prettier (autowarefoundation#1661) * Add markdownlint and prettier Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Ignore .param.yaml Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Apply format Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * suppress warnings for system monitor (autowarefoundation#1723) * fix for hdd_monitor * fix no initialization and warning * change command for ntp_monitor (autowarefoundation#1705) * [EVT4-403] change command for ntp_monitor * [EVT4-403] fixed CI build error * [EVT4-403] fixed cpplint error * delete executeChronyc thread, fix error topic and log output code * fix cpplint error and code style divergence * fix cpplint error(missing correction) * Fix MD029 (autowarefoundation#1813) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix -Wunused-parameter (autowarefoundation#1836) * Fix -Wunused-parameter Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix mistake Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * fix spell * Fix lint issues Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Ignore flake8 warnings Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp> * add gpu usage per process (autowarefoundation#1798) * add gpu usage per process * change illegal usage(4294967295%) to 0%, and fix CI running errors * Replace gettimeofday with rclcpp::Node::now(). * Fix uncrustify error. * Replace rclcpp::Node::now() with rclcpp::Clock(RCL_SYSTEM_TIME). Co-authored-by: ito-san <fumihito.ito@tier4.jp> * fix some typos (autowarefoundation#1941) * fix some typos * fix typo * Fix typo Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp> * suppress warnings for system directory autowarefoundation#2046 * add sort-package-xml hook in pre-commit (autowarefoundation#1881) * add sort xml hook in pre-commit * change retval to exit_status * rename * add prettier plugin-xml * use early return * add license note * add tier4 license * restore prettier * change license order * move local hooks to public repo * move prettier-xml to pre-commit-hooks-ros * update version for bug-fix * apply pre-commit * Add execution time logging. (autowarefoundation#2066) * Add markdown-link-check pre-commit (autowarefoundation#2215) * add markdown-lint-check pre-commit * delete files argument * add optional hook * modify comment * add comment * delete hook * add retry option * add option * add files arg * Fix links in hdd_reader.md Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Ignore 403 Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Ignore tier4 github url Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Update link Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp> * Change formatter to clang-format and black (autowarefoundation#2332) * Revert "Temporarily comment out pre-commit hooks" This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3. * Replace ament_lint_common with autoware_lint_common Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Remove ament_cmake_uncrustify and ament_clang_format Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Apply Black Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Apply clang-format Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix build errors Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix for cpplint * Fix include double quotes to angle brackets Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Apply clang-format Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Fix build errors Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * Add COLCON_IGNORE (#500) Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp> * remove COLCON_IGNORE in system_packages and map_tf_generator (#532) Co-authored-by: mitsudome-r <ryohsuke.mitsudome@tier4.jp> Co-authored-by: ito-san <57388357+ito-san@users.noreply.github.com> Co-authored-by: Kazuki Miyahara <kmiya@outlook.com> Co-authored-by: Nikolai Morin <nnmmgit@gmail.com> Co-authored-by: Yunus Emre Çalışkan <yunus.ec@gmail.com> Co-authored-by: Jilada Eccleston <jilada.eccleston@gmail.com> Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com> Co-authored-by: Takagi, Isamu <isamu.takagi@tier4.jp> Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Co-authored-by: Ryohsuke Mitsudome <43976834+mitsudome-r@users.noreply.github.com> Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp> Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp> Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com> Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com> Co-authored-by: Makoto Tokunaga <vios-fish@users.noreply.github.com> Co-authored-by: Adam Dąbrowski <adam.dabrowski@robotec.ai> Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com> Co-authored-by: Takeshi Miura <takeshi.miura@tier4.jp> Co-authored-by: wep21 <border_goldenmarket@yahoo.co.jp> Co-authored-by: Hiroki OTA <hiroki.ota@tier4.jp> Co-authored-by: v-kitahara8153 <86092199+v-kitahara8153@users.noreply.github.com> Co-authored-by: ito-san <fumihito.ito@tier4.jp> Co-authored-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com> Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
1 parent bb816a6 commit e0fc816

File tree

105 files changed

+13246
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+13246
-0
lines changed

system/system_monitor/CHANGELOG.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2+
Changelog for package system_monitor
3+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4+
5+
1.1x.0 (2020-xx-xx)
6+
-------------------
7+
* Initial commit
8+
* Contributors: Fumihito Ito

system/system_monitor/CMakeLists.txt

+315
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,315 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(system_monitor)
3+
4+
## Compile as C++14, supported in ROS Melodic and newer
5+
if(NOT CMAKE_CXX_STANDARD)
6+
set(CMAKE_CXX_STANDARD 14)
7+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
8+
set(CMAKE_CXX_EXTENSIONS OFF)
9+
endif()
10+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
11+
add_compile_options(-Wall -Wextra -Wpedantic -Werror)
12+
endif()
13+
14+
find_package(ament_cmake_auto REQUIRED)
15+
ament_auto_find_build_dependencies()
16+
17+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
18+
find_package(NVML)
19+
find_package(fmt REQUIRED)
20+
set(LIBRARIES fmt)
21+
22+
###########
23+
## Build ##
24+
###########
25+
26+
## Specify additional locations of header files
27+
28+
find_path(LIBNL3_INCLUDE_DIRS
29+
NAMES netlink/netlink.h
30+
PATH_SUFFIXES libnl3
31+
)
32+
33+
if(NVML_FOUND)
34+
include_directories(
35+
include
36+
${LIBNL3_INCLUDE_DIRS}
37+
${NVML_INCLUDE_DIRS}
38+
)
39+
else()
40+
include_directories(
41+
include
42+
${LIBNL3_INCLUDE_DIRS}
43+
)
44+
endif()
45+
46+
## Declare a C++ executable
47+
48+
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
49+
set(CMAKE_CPU_PLATFORM "intel")
50+
add_definitions(-D_CPU_INTEL_)
51+
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm")
52+
if(CMAKE_HOST_SYSTEM_VERSION MATCHES ".*raspi.*")
53+
set(CMAKE_CPU_PLATFORM "raspi")
54+
add_definitions(-D_CPU_RASPI_)
55+
elseif(CMAKE_HOST_SYSTEM_VERSION MATCHES ".*tegra.*")
56+
set(CMAKE_CPU_PLATFORM "tegra")
57+
add_definitions(-D_CPU_TEGRA_)
58+
else()
59+
set(CMAKE_CPU_PLATFORM "arm")
60+
add_definitions(-D_CPU_ARM_)
61+
endif()
62+
else()
63+
set(CMAKE_CPU_PLATFORM "unknown")
64+
endif()
65+
66+
if(NVML_FOUND)
67+
set(CMAKE_GPU_PLATFORM "nvml")
68+
add_definitions(-D_GPU_NVML_)
69+
set(GPU_LIBRARY ${NVML_LIBRARIES})
70+
else()
71+
if(CMAKE_CPU_PLATFORM STREQUAL "tegra")
72+
set(CMAKE_GPU_PLATFORM "tegra")
73+
add_definitions(-D_GPU_TEGRA_)
74+
else()
75+
set(CMAKE_GPU_PLATFORM "unknown")
76+
endif()
77+
endif()
78+
79+
message(STATUS "HOST_SYSTEM_VERSION: " ${CMAKE_HOST_SYSTEM_VERSION})
80+
message(STATUS "SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR})
81+
message(STATUS "CPU PLATFORM: " ${CMAKE_CPU_PLATFORM})
82+
message(STATUS "GPU PLATFORM: " ${CMAKE_GPU_PLATFORM})
83+
84+
set(CPU_MONITOR_SOURCE
85+
src/cpu_monitor/cpu_monitor_base.cpp
86+
src/cpu_monitor/${CMAKE_CPU_PLATFORM}_cpu_monitor.cpp
87+
)
88+
89+
ament_auto_add_library(cpu_monitor_lib SHARED
90+
${CPU_MONITOR_SOURCE}
91+
)
92+
93+
ament_auto_add_library(hdd_monitor_lib SHARED
94+
src/hdd_monitor/hdd_monitor.cpp
95+
)
96+
97+
ament_auto_add_library(mem_monitor_lib SHARED
98+
src/mem_monitor/mem_monitor.cpp
99+
)
100+
101+
ament_auto_add_library(net_monitor_lib SHARED
102+
src/net_monitor/net_monitor.cpp
103+
src/net_monitor/nl80211.cpp
104+
)
105+
106+
ament_auto_add_library(ntp_monitor_lib SHARED
107+
src/ntp_monitor/ntp_monitor.cpp
108+
)
109+
110+
ament_auto_add_library(process_monitor_lib SHARED
111+
src/process_monitor/process_monitor.cpp
112+
)
113+
114+
set(GPU_MONITOR_SOURCE
115+
src/gpu_monitor/gpu_monitor_base.cpp
116+
src/gpu_monitor/${CMAKE_GPU_PLATFORM}_gpu_monitor.cpp
117+
)
118+
ament_auto_add_library(gpu_monitor_lib SHARED
119+
${GPU_MONITOR_SOURCE}
120+
)
121+
122+
ament_auto_add_executable(msr_reader
123+
reader/msr_reader/msr_reader.cpp
124+
)
125+
126+
ament_auto_add_executable(hdd_reader
127+
reader/hdd_reader/hdd_reader.cpp
128+
)
129+
130+
find_library(NL3 nl-3 REQUIRED)
131+
find_library(NLGENL3 nl-genl-3 REQUIRED)
132+
list(APPEND NL_LIBS ${NL3} ${NLGENL3})
133+
134+
find_package(Boost REQUIRED COMPONENTS
135+
serialization
136+
thread
137+
filesystem
138+
regex
139+
)
140+
141+
## Specify libraries to link a library or executable target against
142+
target_link_libraries(cpu_monitor_lib ${Boost_LIBRARIES} ${LIBRARIES})
143+
target_link_libraries(hdd_monitor_lib ${Boost_LIBRARIES} ${LIBRARIES})
144+
target_link_libraries(mem_monitor_lib ${LIBRARIES})
145+
target_link_libraries(net_monitor_lib ${NL_LIBS} ${LIBRARIES})
146+
target_link_libraries(ntp_monitor_lib ${Boost_LIBRARIES} ${LIBRARIES})
147+
target_link_libraries(process_monitor_lib ${LIBRARIES})
148+
target_link_libraries(gpu_monitor_lib ${GPU_LIBRARY} ${Boost_LIBRARIES} ${LIBRARIES})
149+
target_link_libraries(msr_reader ${Boost_LIBRARIES} ${LIBRARIES})
150+
target_link_libraries(hdd_reader ${Boost_LIBRARIES} ${LIBRARIES})
151+
152+
rclcpp_components_register_node(cpu_monitor_lib
153+
PLUGIN "CPUMonitor"
154+
EXECUTABLE cpu_monitor
155+
)
156+
157+
rclcpp_components_register_node(hdd_monitor_lib
158+
PLUGIN "HDDMonitor"
159+
EXECUTABLE hdd_monitor
160+
)
161+
162+
rclcpp_components_register_node(mem_monitor_lib
163+
PLUGIN "MemMonitor"
164+
EXECUTABLE mem_monitor
165+
)
166+
167+
rclcpp_components_register_node(net_monitor_lib
168+
PLUGIN "NetMonitor"
169+
EXECUTABLE net_monitor
170+
)
171+
172+
rclcpp_components_register_node(ntp_monitor_lib
173+
PLUGIN "NTPMonitor"
174+
EXECUTABLE ntp_monitor
175+
)
176+
177+
rclcpp_components_register_node(process_monitor_lib
178+
PLUGIN "ProcessMonitor"
179+
EXECUTABLE process_monitor
180+
)
181+
182+
rclcpp_components_register_node(gpu_monitor_lib
183+
PLUGIN "GPUMonitor"
184+
EXECUTABLE gpu_monitor
185+
)
186+
187+
# TODO(yunus.caliskan): Port the tests to ROS2, robustify the tests.
188+
if(BUILD_TESTING)
189+
find_package(ament_lint_auto REQUIRED)
190+
ament_lint_auto_find_test_dependencies()
191+
192+
# ament_add_gtest(test_cpu_monitor
193+
# test/src/cpu_monitor/test_${CMAKE_CPU_PLATFORM}_cpu_monitor.cpp
194+
# ${CPU_MONITOR_SOURCE}
195+
# )
196+
197+
# ament_target_dependencies(test_cpu_monitor
198+
# "rclcpp"
199+
# "diagnostic_msgs"
200+
# )
201+
202+
# target_include_directories(test_cpu_monitor
203+
# PRIVATE "include"
204+
# )
205+
206+
# target_link_libraries(test_cpu_monitor ${Boost_LIBRARIES} ${LIBRARIES})
207+
208+
# ament_add_gtest(test_hdd_monitor
209+
# test/src/hdd_monitor/test_hdd_monitor.cpp
210+
# src/hdd_monitor/hdd_monitor.cpp
211+
# )
212+
213+
# ament_target_dependencies(test_hdd_monitor
214+
# "rclcpp"
215+
# "diagnostic_msgs"
216+
# )
217+
218+
# target_include_directories(test_hdd_monitor
219+
# PRIVATE "include"
220+
# )
221+
222+
# target_link_libraries(test_hdd_monitor ${Boost_LIBRARIES} ${LIBRARIES}
223+
# )
224+
225+
# ament_add_gtest(test_mem_monitor
226+
# test/src/mem_monitor/test_mem_monitor.cpp
227+
# src/mem_monitor/mem_monitor.cpp
228+
# )
229+
230+
# ament_target_dependencies(test_mem_monitor
231+
# "rclcpp"
232+
# "diagnostic_msgs"
233+
# )
234+
235+
# target_include_directories(test_mem_monitor
236+
# PRIVATE "include"
237+
# )
238+
239+
# target_link_libraries(test_mem_monitor ${Boost_LIBRARIES} ${LIBRARIES})
240+
241+
# ament_add_gtest(test_net_monitor
242+
# test/src/net_monitor/test_net_monitor.cpp
243+
# src/net_monitor/net_monitor.cpp
244+
# src/net_monitor/nl80211.cpp
245+
# )
246+
247+
# ament_target_dependencies(test_net_monitor
248+
# "rclcpp"
249+
# "diagnostic_msgs"
250+
# )
251+
252+
# target_include_directories(test_net_monitor
253+
# PRIVATE "include"
254+
# )
255+
256+
# target_link_libraries(test_net_monitor ${Boost_LIBRARIES} ${NL_LIBS} ${LIBRARIES})
257+
258+
# ament_add_gtest(test_ntp_monitor
259+
# test/src/ntp_monitor/test_ntp_monitor.cpp
260+
# src/ntp_monitor/ntp_monitor.cpp
261+
# )
262+
263+
# ament_target_dependencies(test_ntp_monitor
264+
# "rclcpp"
265+
# "diagnostic_msgs"
266+
# )
267+
268+
# target_include_directories(test_ntp_monitor
269+
# PRIVATE "include"
270+
# )
271+
272+
# target_link_libraries(test_ntp_monitor ${Boost_LIBRARIES} ${LIBRARIES})
273+
274+
# ament_add_gtest(test_process_monitor
275+
# test/src/process_monitor/test_process_monitor.cpp
276+
# src/process_monitor/process_monitor.cpp
277+
# )
278+
279+
# ament_target_dependencies(test_process_monitor
280+
# "rclcpp"
281+
# "diagnostic_msgs"
282+
# )
283+
284+
# target_include_directories(test_process_monitor
285+
# PRIVATE "include"
286+
# )
287+
288+
# target_link_libraries(test_process_monitor ${Boost_LIBRARIES} ${LIBRARIES})
289+
290+
# ament_add_gtest(test_gpu_monitor
291+
# test/src/gpu_monitor/test_${CMAKE_GPU_PLATFORM}_gpu_monitor.cpp
292+
# ${GPU_MONITOR_SOURCE}
293+
# )
294+
295+
# ament_target_dependencies(test_gpu_monitor
296+
# "rclcpp"
297+
# "diagnostic_msgs"
298+
# )
299+
300+
# target_include_directories(test_gpu_monitor
301+
# PRIVATE "include"
302+
# )
303+
304+
# target_link_libraries(test_gpu_monitor ${GPU_LIBRARY} ${LIBRARIES})
305+
306+
endif()
307+
308+
#############
309+
## Install ##
310+
#############
311+
312+
ament_auto_package(INSTALL_TO_SHARE
313+
launch
314+
config
315+
)

0 commit comments

Comments
 (0)