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

Proposed node action: "Mute all except" #98

Open
clungzta opened this issue Oct 17, 2019 · 3 comments
Open

Proposed node action: "Mute all except" #98

clungzta opened this issue Oct 17, 2019 · 3 comments

Comments

@clungzta
Copy link

I'm really liking the rosmon workflow compared to roslaunch, especially with the search (#97 ).

I do find myself often performing the Global action F9, followed by selecting a node and unmuting it, to keep track of the progress of output from that particular node only.

I think it would be useful to have a node action which mutes all other nodes and unmutes the selected one exclusively.

Thoughts?

@peci1
Copy link

peci1 commented Dec 14, 2021

https://github.com/hatchbed/log_view has this function (Ctrl-N). It is super useful. Once this feature is implemented, rosmon could even provide features like Tab/Alt-Tab for viewing output of just the node that is selected, and automatically cycling between them.

Generally, I think that some convergence between log_view and rosmon would be super useful.

@xqms
Copy link
Owner

xqms commented Dec 20, 2021

The general problem with functionality like this is that it requires redrawing the screen to be useful. If you use Tab to cycle between nodes, then you would like to see previous log messages as well - not just new ones from this point on.
But rosmon never redraws the entire screen, and that is for a good reason: We would have to switch to an ncurses-like experience, which breaks scrolling and mouse selection features of the terminal emulator. For example, we would have to use "alternate" mode, which is basically a second screen with disabled scrolling, and exit alternate mode when rosmon exits -> you cannot see the log anymore. That breaks user expectations - I often first stop a launch and then look at the log messages in detail.

I actually use a dedicated not-yet-released tool for viewing /rosout, which supports filtering, integrates into rqt, but looks like a console. By splitting node launching and log viewing into different tools, we can have the best of two worlds: rosmon helps with process monitoring and debugging launch configurations in quick iterations, while specialized log viewers can help with long-time monitoring of the entire system.

And: my usual impulse when I can't see the output of one interesting node because other nodes are spamming log messages everywhere is to fix these offending nodes - that pays off more in the long term ;)

Sorry for the long post. If anyone wants to implement a simple "mute all except" action which just toggles the existing mute flags, I'm open for PRs :)

@Timple
Copy link
Contributor

Timple commented Dec 20, 2021

One example of such a log-viewer is swri_console.

Not affiliated to them, just might be of interest to folks following this thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants