r-smith / vmPing

Visual Multi Ping. Color-coded ping utility for monitoring multiple hosts.
MIT License
429 stars 67 forks source link

Feature Request: "autoscroll" checkbox #61

Open hazymat opened 3 years ago

hazymat commented 3 years ago

Scenario: You want to continue pinging whilst at the same time looking back on the previous pings for that node. For example, if you need to compare two nodes, you might want to see the exact times they stopped then started responding.

Issue vmPing is similar to command line, because it automatically scrolls back to the bottom when a new line is added, making it impossible to "browse" previous results.

Ideas 1) an "autoscroll" check box in the application toolbar (aligned left of the menu pull-down on the right), this would prevent all nodes from autoscrolling which would be adequate. 2) an "autoscroll" check box per node (in the hover toolbar for each node, or perhaps better, in the control bar below each node next to PING / STOP button)

I understand that adding something to any toolbar should be done sparingly, as it detracts from simplicity. And I note that vmPing is beautifully minimalistic and would not want to see it any other way! However I do think that an autoscroll option is significantly useful enough to warrant adding this to a toolbar.

I think option (2) is marginally better than (1), in the case that you might want to compare two nodes' histories AND continue to watch other pings in other nodes, but this is such a niche case that I think option (1) is perfectly adequate for most requirements.

Example Here's an example of what I mean, taken from a screenshot of Arduino IDE's serial monitor:

image

An-dir commented 3 years ago

hello hazymat, just tried to stop the autoscroll, and it works when you select something. This also works if you want to compare two pings. You will only see the current selection but the other selection is still present and still stops scrolling. Downside: the selection has to be in the area where you want to compare.

Second solution could be that you enable logging and use the logfiles to compare. Regarding to long term "monitoring" it would be way better to use files.

Regarding your idea: you are right - "beautifully minimalistic" that is the goal (i guess). My ideas if my solutions mentioned before doesn't work well:

  1. Stop autoscroll when (double) clicking the ping output and restart it again with next (double) click. A tooltip to explain that and any kind of message that it stopped/started scrolling would be nice
r-smith commented 2 years ago

I know this is an old issue, but this is something I've always wanted to implement. I just pushed out version 1.3.19 which has all new code for the scrolling. It finally at least pauses if you click and hold the scrollbar.

I plan on implementing this similar to Wireshark - if you scroll up, the auto-scrolling automatically pauses. If you scroll back down to the bottom, then auto-scrolling automatically resumes. The code for this is already written and working for vmPing, but not yet enabled.

I want to add some sort of visual indicator that lets you know when auto-scrolling is off. I also want to add a toggle button as another method for controlling the feature. I'm thinking a button in the hover toolbar.

hazymat commented 2 years ago

This is a good development.

Re: visual indicator. Perhaps some overlay like this: image

Or more subtle, triple dots: image

Re: toggle indicator, yes I agree something like a pause button in the hover bar

But there's something else I think would really make this feature excellent. Is it possible to synchronise the scrolling between ALL ping windows, when you scroll on one of the windows? This would be a killer feature. This means you can use vmPing to identify historic ping issues across multiple devices and compare results historically.

I know the Status History box can help, but it would be much more powerful to be able to see all the pings from e.g. one hour ago at the same time. So when you scroll up on one, it scrolls them all at the same time.

The ability to see network problems propagating across different nodes like this would be invaluable.

r-smith commented 2 years ago

Release 1.3.20 out now implements the auto-toggling of the auto-scrolling. So it finally pauses if you scroll up.

I did test out syncing scroll bars and it works fine. Just need something in the GUI for toggling it on and off. And the scrollback might not necessarily be in sync with the timestamps, especially if you have hosts going down or with different latencies.