Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update master #22

Merged
merged 100 commits into from
Jul 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
f111f51
core: launch_config: parse attributes in parent context
xqms Nov 4, 2019
277d980
core: launch_config: handle $(anon) in ParseContext, see #100
xqms Nov 4, 2019
32aa030
core: test: node_utils: more debug output
xqms Nov 4, 2019
f7064e2
core: test: test_subst: test for nested $(anon), see #100
xqms Nov 4, 2019
a875fbb
fix two typos in the README
xqms Dec 21, 2019
c9a37bc
Merge pull request #101 from xqms/bugfix/anon
xqms Dec 26, 2019
6bef021
rosmon_core: fix a lot of whitespace issues introduced in #76
xqms Dec 27, 2019
938f0b8
rosmon_core: option to obey output="XY" tags (see #108)
xqms Dec 27, 2019
0a43b8d
rosmon_core: unit test for output-attr parsing, refs #108
xqms Dec 27, 2019
4fc1172
Merge pull request #109 from xqms/feature/output-tag
xqms Dec 27, 2019
e8acdc7
fix #110
papino0319 Jan 21, 2020
6c5a1de
Merge pull request #111 from papino0319/fix_args_with_spaces
xqms Jan 21, 2020
ef3b9bf
rosmon_core: do not print node prefix in --disable-ui mode
xqms Feb 5, 2020
3f31aec
rosmon_core: node_monitor: flush out remaining node output after node…
xqms Feb 5, 2020
1dc95e8
rosmon_core: new rosmon-disable-ui attribute for problematic launch f…
xqms Feb 5, 2020
4217676
Merge pull request #112 from xqms/feature/ui_nodes
xqms Feb 6, 2020
5013d95
core: launch_config: accept empty yaml node
marco-tranzatto Apr 10, 2020
a1ba10f
Merge pull request #114 from marco-tranzatto/bugfix/empty_yaml
xqms Apr 12, 2020
b63afad
rosmon_core: LaunchConfig warnings to stderr & make them captureable
xqms Apr 12, 2020
07b25e9
rosmon_core: test: unit tests for the warnings we trigger
xqms Apr 12, 2020
0fdbc93
rosmon_core: Add YAML merge key parsing functionality.
Cartoonman May 17, 2020
2bb0895
rosmon_core: Adding fix for rosparam parsing to equivilate with undoc…
Cartoonman May 17, 2020
7a091d2
rosmon_core: test: unit tests for merge keys feature
Cartoonman May 23, 2020
53a8d3e
rosmon_core: ui: UI DrawStatus optimized to only refresh on events.
Cartoonman May 23, 2020
e914ba9
core: launch: add some comments & fix whitespace
xqms May 24, 2020
453fb21
Merge pull request #117 from Cartoonman/feature/merge_keys
xqms May 24, 2020
6439fa6
rosmon_core: depend on python2/3 conditioned on ROS_PYTHON_VERSION
xqms May 24, 2020
968d6b9
Merge pull request #123 from xqms/feature/python3
xqms May 24, 2020
06dacd2
core: launch: add comments
xqms May 24, 2020
3cb47ea
Merge pull request #118 from Cartoonman/fix/rosparam_order
xqms May 24, 2020
f0b3c90
core: ui: just redraw on every keystroke
xqms May 24, 2020
7c79eec
Merge pull request #121 from Cartoonman/feature/efficient_ui
xqms May 24, 2020
9a0beea
core: launch: shift some node attributes into context
xqms May 24, 2020
69e96a7
rosmon_core: parse scope attributes also for launch, include, group tags
xqms May 24, 2020
2d1ebc3
core: launch: make "enable-coredumps" a scoped attribute
xqms May 24, 2020
3314a80
core: test: add test for scoped attributes on include tags
xqms May 24, 2020
93dee7d
core: monitor: support for systemd-coredump
xqms May 24, 2020
62da5d5
core: monitor: delete working directories from two runs ago
xqms May 24, 2020
2f6ef2c
Merge pull request #124 from xqms/feature/scope_args
xqms May 25, 2020
634f754
Merge pull request #125 from xqms/feature/systemd-coredump
xqms May 25, 2020
184bb15
capture stderr separately and correctly do output=log
xqms Feb 14, 2020
3685b79
roscore: test: Fixing unit tests for stdout_stderr mod
Cartoonman May 25, 2020
acd0507
Adding alt. stderr output filter
Cartoonman May 25, 2020
7bc4d13
CHANGELOG
xqms May 28, 2020
edc0399
Merge pull request #119 from Cartoonman/feature/verbosity_filter
xqms May 28, 2020
f32a561
CHANGELOG
xqms May 28, 2020
0aacad8
2.3.0
xqms May 28, 2020
4a66672
rosmon_core: cmake: request specific boost_python3 version
xqms May 28, 2020
4d8d658
rosmon_core: test: adapt test_node to python 3
xqms May 28, 2020
c38cffb
Merge branch 'fix/boost_python3'
xqms May 28, 2020
b293d6b
CHANGELOG
xqms May 28, 2020
bb6f0bf
2.3.1
xqms May 28, 2020
8de2656
rosmon_core: *really* fix search for boost_python for python 3
xqms May 29, 2020
fcd7ccf
rosmon_core: cmake: increase minimum version to address policy warnings
xqms May 29, 2020
3a16933
CHANGELOG
xqms May 29, 2020
e6ccc7a
2.3.2
xqms May 29, 2020
3e8a14e
rosmon_core: cmake: older cmake versions don't have GREATER_EQUAL
xqms May 29, 2020
369644a
all: increase cmake minimum version to 3.4
xqms May 29, 2020
e1c3ccb
README: add installation hint for rosmon_core
xqms Jun 4, 2020
fe3b6ce
core: launch_config: loadYAMLParams: don't scope keys with leading slash
xqms Jul 23, 2020
bd3556b
core: test: xml: rosparam: test leading slashes in keys
xqms Jul 23, 2020
8993790
Merge pull request #131 from xqms/bugfix/yaml_global_params
xqms Jul 23, 2020
d1f59f2
core: consolidate floating point types used for stats
xqms Aug 31, 2020
65a8623
core: ui: explicit float casts
xqms Aug 31, 2020
5b90e17
rqt: make float/int casts explicit
xqms Aug 31, 2020
b744e79
rosmon_core: env-hooks: follow symbolic links during file name sugges…
xqms Oct 14, 2020
31edc1a
core: substitution_python: catch by reference
xqms Oct 14, 2020
fa649d6
core: ui: display & search full name including namespace
xqms Oct 16, 2020
11f3d50
core: ui: use full name everywhere
xqms Oct 16, 2020
18d6b69
Start all and stop all options are added
kutipense Oct 26, 2020
b1354fe
Merge pull request #133 from kutipense/feature/start_kill_all
xqms Nov 5, 2020
37aef92
core: launch: bytes_parser: add missing include
xqms Nov 10, 2020
273debb
Merge pull request #137 from xqms/bugfix/byte_parser_string
xqms Nov 10, 2020
82b5d89
Added option --stdout-print-source to print out node name when --disa…
stevegolton Nov 24, 2020
d40246d
Merge branch 'master' of https://github.com/xqms/rosmon
stevegolton Nov 24, 2020
0406316
Removed stdout-print-source option and print node name by default whe…
stevegolton Nov 24, 2020
e5a47a3
Merge pull request #140 from stevegolton/master
xqms Dec 1, 2020
ab77bbe
core: fix compilation on Kinetic (boost::placeholders came later)
xqms Dec 1, 2020
020cc56
core: monitor: do not leak stderr file descriptors
xqms Dec 16, 2020
46f7e19
core: launch_config: add warning for type= attrs on <param> tags on K…
xqms Nov 29, 2020
c843893
update warning
xqms Jan 3, 2021
5830b3a
core: launch_config: strip off leading/trailing whitespace of params
xqms Dec 1, 2020
7d975fa
core: add utility to precisely dump ROS parameters
xqms Jan 3, 2021
e209e0f
core: launch_config: use double precision for auto type parameters
xqms Jan 3, 2021
b08501c
core: launch_config: convert tabs + newlines in parameters
xqms Jan 3, 2021
6089d33
core: test: add unit test for all sorts of whitespace in parameters
xqms Jan 3, 2021
1612b9c
core: test: basic.launch: make it work with roslaunch
xqms Jan 3, 2021
ea9b108
core: test: basic.py: adapt to fixed whitespace behavior
xqms Jan 3, 2021
8959e7f
Merge pull request #141 from xqms/feature/warn_kinetic_param_type
xqms Jan 3, 2021
c9f49cb
core: fix aliasing problem using std::memcpy
xqms Jan 6, 2021
75bad9c
Resolves #145 by providing a number of restarts threshold per node vi…
MCFurry Jun 21, 2021
b984231
core: fix signed/unsigned comparison warning
xqms Jul 2, 2021
1eb3d5c
core: install tests (necessary for testing with colcon)
xqms Jul 2, 2021
a8b2505
Merge branch 'add/node_numrespawns_argument' (from #146)
xqms Jul 2, 2021
d3b00d5
core: monitor: use a second PTY for stderr, see #147
xqms Jul 2, 2021
ac6e1de
Merge pull request #148 from xqms/bugfix/python_stderr
xqms Jul 6, 2021
f554e3e
Inidicate when a node is actually Idle (e.g. stopped)
Apr 26, 2021
97367c2
Add missing dependency on libboost-pyhton-dev
Timple Jul 8, 2021
9ab3b2b
Merge pull request #149 from nobleo/libboost-pyhton-dev
xqms Jul 11, 2021
40207bf
Merge pull request #144 from nobleo/add/node_stopped_message
xqms Jul 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ developers.

## Installation & Quick start

Official `rosmon` are available. On ROS Kinetic or Melodic (Ubuntu) simply do:
Official `rosmon` packages are available. On ROS Kinetic or Melodic (Ubuntu) simply do:

sudo apt install ros-${ROSDISTRO}-rosmon
sudo apt install ros-${ROS_DISTRO}-rosmon

In case you don't need the rqt GUI, you can install the core package only:

sudo apt install ros-${ROS_DISTRO}-rosmon-core

Afterwards, try

Expand Down
11 changes: 11 additions & 0 deletions rosmon/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@
Changelog for package rosmon
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.3.2 (2020-05-29)
------------------

2.3.1 (2020-05-28)
------------------

2.3.0 (2020-05-28)
------------------
* Fix Issue "Can not handle arguments with spaces" (PR #110)
* Contributors: Kazuhiro Hiratsuka, Max Schwarz

2.2.1 (2019-11-08)
------------------

Expand Down
2 changes: 1 addition & 1 deletion rosmon/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.4)
project(rosmon)

find_package(catkin)
Expand Down
2 changes: 1 addition & 1 deletion rosmon/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
for the roslaunch tool, focused on performance, remote
monitoring, and usability.
</description>
<version>2.2.1</version>
<version>2.3.2</version>
<license>BSD</license>
<author email="max.schwarz@uni-bonn.de">Max Schwarz</author>
<maintainer email="max.schwarz@uni-bonn.de">Max Schwarz</maintainer>
Expand Down
2 changes: 1 addition & 1 deletion rosmon/src/rosmon
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec rosrun rosmon_core rosmon $*
exec rosrun rosmon_core rosmon "$@"
31 changes: 31 additions & 0 deletions rosmon_core/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@
Changelog for package rosmon_core
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.3.2 (2020-05-29)
------------------
* rosmon_core: cmake: increase minimum version to address policy warnings
* rosmon_core: *really* fix search for boost_python for python 3
* Contributors: Max Schwarz

2.3.1 (2020-05-28)
------------------
* Fix build issues on Debian connected to Boost & Python 3
* Contributors: Max Schwarz

2.3.0 (2020-05-28)
------------------
* Optionally filter stdout (INFO/DEBUG, PR #119)
* Capture stderr separately and correctly do output=log (PR #119)
* Prevent infinite coredump aggregation & support systemd-coredump (PR #125)
* Support certain rosmon-* attributes on all scopes (fixes #116)
* ui: UI DrawStatus optimized to only refresh on events (PR #121)
* Adding fix for rosparam parsing to equivilate with undocumented behavior of roslaunch (PR #118)
* depend on python2/3 conditioned on ROS_PYTHON_VERSION (PR #123)
* Add YAML merge key parsing functionality (PR #117)
* test: unit tests for the warnings we trigger
* LaunchConfig warnings to stderr & make them captureable
* rosmon_core: Handle empty yaml file (PR #114)
* Improved support for nodes with terminal UI (PR #112)
* Fix Issue "Can not handle arguments with spaces" (PR #111)
* Option to obey output=XY tags (PR #109)
* fix a lot of whitespace issues introduced in #76
* Handle nesting with $(anon) subst correctly (PR #101)
* Contributors: Carl Colena, Kazuhiro Hiratsuka, Max Schwarz, marco-tranzatto

2.2.1 (2019-11-08)
------------------
* correctly terminate execvp() arguments (issue: #102, PR: #103).
Expand Down
22 changes: 19 additions & 3 deletions rosmon_core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.4)
project(rosmon_core)

find_package(catkin REQUIRED COMPONENTS
Expand Down Expand Up @@ -33,7 +33,15 @@ else()
message(WARNING "Please install libpython-dev (or equivalent) for $(eval ...) support")
endif()

find_package(Boost REQUIRED COMPONENTS python REQUIRED)
# Newer boost versions need a specific python version
if(${PYTHON_VERSION_MAJOR} GREATER 2)
set(boost_python_component "python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
else()
set(boost_python_component "python")
endif()
message(STATUS "Searching for boost_python with keyword '${boost_python_component}'")

find_package(Boost REQUIRED COMPONENTS ${boost_python_component} REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

# Specific feature tests
Expand Down Expand Up @@ -112,6 +120,12 @@ endif()
add_executable(abort
src/util/abort.cpp
)
add_executable(dump_param
src/util/dump_param.cpp
)
target_link_libraries(dump_param
${catkin_LIBRARIES}
)

add_executable(abort_really_long_executable
src/util/abort.cpp
Expand Down Expand Up @@ -149,9 +163,11 @@ if(CATKIN_ENABLE_TESTING)
else()
message(WARNING "Install catch_ros to enable XML unit tests")
endif()

install(DIRECTORY test DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
endif()

# Version 1.5 (increment this comment to trigger a CMake update)
# Version 1.6 (increment this comment to trigger a CMake update)
catkin_add_env_hooks(50-rosmon
SHELLS bash zsh
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks
Expand Down
4 changes: 2 additions & 2 deletions rosmon_core/env-hooks/50-rosmon.bash
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function mon() {
case $1 in
launch)
shift
rosrun rosmon_core rosmon $*
rosrun rosmon_core rosmon "$@"
;;
esac
}
Expand Down Expand Up @@ -68,7 +68,7 @@ function _mon() {
# If we have no launch file yet, offer launch files
elif [[ ( ! -f $package_name ) && -z $launch_name ]]; then
local package_dir="$(rospack find ${COMP_WORDS[2]})"
local launchfiles=$(find "$package_dir" -name '*.launch' -type f -printf "%f\n")
local launchfiles=$(find -L "$package_dir" -name '*.launch' -type f -printf "%f\n")
COMPREPLY=( $(compgen -W "${launchfiles} ${FLAGS[*]} ${OPTS[*]}" -- $cur) )

# Only arguments now
Expand Down
2 changes: 1 addition & 1 deletion rosmon_core/env-hooks/50-rosmon.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ function _launch_file() {
_launch_arg
else
package=${line[2]}
files=("${(@f)$(find $(rospack find ${package}) -name '*.launch' -type f -printf "%f\n")}")
files=("${(@f)$(find -L $(rospack find ${package}) -name '*.launch' -type f -printf "%f\n")}")
if [[ $#files -gt 0 ]]; then
_values 'launch files' $files
fi
Expand Down
13 changes: 8 additions & 5 deletions rosmon_core/package.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<package format="2">
<package format="3">
<name>rosmon_core</name>
<description>
Node launcher and monitor for ROS. rosmon is a replacement
for the roslaunch tool, focused on performance, remote
monitoring, and usability.
</description>
<version>2.2.1</version>
<version>2.3.2</version>
<license>BSD</license>
<author email="max.schwarz@uni-bonn.de">Max Schwarz</author>
<maintainer email="max.schwarz@uni-bonn.de">Max Schwarz</maintainer>

<buildtool_depend>catkin</buildtool_depend>
<depend>boost</depend>
<depend>libboost-python-dev</depend>
<depend>cmake_modules</depend>
<depend>libncurses-dev</depend>
<depend>rosfmt</depend>
Expand All @@ -24,10 +25,12 @@
<depend>tinyxml</depend>
<depend>yaml-cpp</depend>
<depend>diagnostic_msgs</depend>

<build_depend>python</build_depend>

<test_depend>python-rospkg</test_depend>
<build_depend condition="$ROS_PYTHON_VERSION == 2">python</build_depend>
<build_depend condition="$ROS_PYTHON_VERSION == 3">python3</build_depend>

<test_depend condition="$ROS_PYTHON_VERSION == 2">python-rospkg</test_depend>
<test_depend condition="$ROS_PYTHON_VERSION == 3">python3-rospkg</test_depend>
<test_depend>rostest</test_depend>
<test_depend>catch_ros</test_depend>
</package>
11 changes: 9 additions & 2 deletions rosmon_core/src/diagnostics_publisher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,17 @@ void DiagnosticsPublisher::publish(const std::vector<NodeMonitor::Ptr>& state)
}
else
{
if(nodeState->restartCount() > 0)
if (nodeState->state() == NodeMonitor::STATE_IDLE)
{
msg = "node idle ";
}

if(nodeState->numRespawnsAllowed() >= 0 &&
nodeState->restartCount() > static_cast<unsigned int>(nodeState->numRespawnsAllowed()))
{
nodeStatus.level = diagnostic_msgs::DiagnosticStatus::WARN;
msg = "restart count > 0! (" + std::to_string(nodeState->restartCount()) + ")";
msg += "restart count > " + std::to_string(nodeState->numRespawnsAllowed()) +
"! (" + std::to_string(nodeState->restartCount()) + ")";
}

if(nodeState->memory() > nodeState->memoryLimit())
Expand Down
2 changes: 2 additions & 0 deletions rosmon_core/src/launch/bytes_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#ifndef ROSMON_LAUNCH_BYTES_PARSER_H
#define ROSMON_LAUNCH_BYTES_PARSER_H

#include <cstdint>
#include <string>
#include <tuple>

namespace rosmon
Expand Down
Loading