Skip to content

Conversation

rebroad
Copy link
Contributor

@rebroad rebroad commented Nov 15, 2021

Helps to make visible the low bandwidth traffic and high bandwidth (or spikes) concurrently. (Previously the low bandwidth traffic becomes invisible in the presence of spikes).

Old format:
image

New format:
image

Old format:
image

New format:
image

(clicking on the graph will toggle between the new format and the old format).

@katesalazar
Copy link
Contributor

Love the idea, the problem with these things is
there's gonna be someone who is annoyed by the behavior change.

When I do things like this, I always maintain the old behavior somehow,
so that kind of reaction against gets suppressed more easily.

@laanwj
Copy link
Member

laanwj commented Nov 16, 2021

Concept ACK, this seems like a good idea to me, given that, what you really want to see in graphs like this is the gross magnitude and not so much very small variations in the throughput.

@rebroad
Copy link
Contributor Author

rebroad commented Nov 19, 2021

Love the idea, the problem with these things is there's gonna be someone who is annoyed by the behavior change.

When I do things like this, I always maintain the old behavior somehow, so that kind of reaction against gets suppressed more easily.

I agree, which is why I've now (latest commit) made it toggleable - just click on the graph to switch between the two display options.

@rebroad rebroad changed the title Change Network traffic graph to non-linear Enable a non-linear network traffic option (click to toggle between linear and non-linear) Nov 19, 2021
@katesalazar
Copy link
Contributor

Concept ACK.

Love the idea, the problem with these things is there's gonna be someone who is annoyed by the behavior change.
When I do things like this, I always maintain the old behavior somehow, so that kind of reaction against gets suppressed more easily.

I agree, which is why I've now (latest commit) made it toggleable - just click on the graph to switch between the two display options.

Obscure, but OK.

@rebroad rebroad force-pushed the NonLinearTraffic branch 2 times, most recently from 6f741d3 to fe34ec3 Compare November 20, 2021 21:04
Copy link
Member

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

concept ack

path.lineTo(x, y);
}
path.lineTo(x, YMARGIN + h);
}
}

void TrafficGraphWidget::mousePressEvent(QMouseEvent *event)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't a great UI decision for end users. This functionality is hidden from users. If they discover it, it would be by accident; after having clicked on the Network Traffic widget.

Let's make this feature more accessible and documented by adding two buttons next to the reset button: one that sets the existing format and another button that enables the new format introduced in this PR.

The fToggle variable here should then be made into a persistent setting.

Additionally, when a longer sampling period has been set with the slider; it can take a minute or longer for the format to switch. There are optimizations that need to be done. I have not investigated this.

Copy link
Contributor Author

@rebroad rebroad Nov 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jarolrod What options are available so far for making GUI changes persistent? Regarding the delay when the slider is moved, I fixed that in a later update, and the delay now is no longer than the delay already present when clicking the reset button.

What more obvious way might there be to reveal the Y axis is toggleable? A tooltip on the graph perhaps? I am reluctant to add extra buttons given the slider is already providing many values in so little space, so I do prefer the clicking on the graph to change it. It may be that someone finds it by accident, but then this could be a pleasant surprise that - an "easter egg" feature!

Copy link
Contributor

@katesalazar katesalazar Nov 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rebroad

What more obvious way might there be to reveal the Y axis is toggle-able?

Yes, button, of course! Checkbox, radio, all those are good.

A tooltip on the graph perhaps?

Improves from no tooltip, but no,
that's not enough improvement.

I am reluctant to add extra buttons given the slider is already providing many values in so little space, so I do prefer the clicking on the graph to change it.

What? No, that's an huge slider. An unnecessarily large one.
Sliders can be as small as necessary when they are
combined with a text-box presenting the slided value.
There's a huge empty space below the legend too.
There's plenty of available space to discard invisible toggles.

It may be that someone finds it by accident, but then this could be a pleasant surprise that - an "easter egg" feature!

No, an easter egg is meant to be fun or charming in
some way. Hiding actual feature in the same way like
one could do with a true easter egg transgredes
the principle of least surprise.

Cheers!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jarolrod The latest commit makes the update immediate now (using QWidget::update).

@hebasto
Copy link
Member

hebasto commented Nov 21, 2021

Concept ACK.

@RandyMcMillan
Copy link
Contributor

Concept ACK

More useful information "at a glance".

@RandyMcMillan
Copy link
Contributor

Adding a label to the highest horizontal line would be useful.

@rebroad
Copy link
Contributor Author

rebroad commented Nov 28, 2021

Adding a label to the highest horizontal line would be useful.

I did consider this, but as it's not the current functionality, and it would make the highest point on the graph no longer reach the top (as the label would need extra space) I decided against it. Could be done as a separate pull request though.

@rebroad
Copy link
Contributor Author

rebroad commented Dec 6, 2021

Adding a label to the highest horizontal line would be useful.

@RandyMcMillan #492 also reduces the need for this as now you can point to a point on the graph to get details.

e.g.
image (displays time in the same format as in the debug,log so also makes it easy to find the corresponding point in the log file).

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 30, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

No conflicts as of last run.

@RandyMcMillan
Copy link
Contributor

RandyMcMillan commented Jan 28, 2022

@rebroad - added this in PR #539

10f8e79

Screen Shot 2022-01-29 at 2 10 01 PM (2)

NOTE: I was careful to preserve commit authorship attribution: 👍🏽
https://github.com/bitcoin-core/gui/pull/539/commits

@hebasto
Copy link
Member

hebasto commented Oct 26, 2022

Closing this as it has not had any activity in a while. If you are interested in continuing work on this, please leave a comment so that it can be reopened.

@hebasto hebasto closed this Oct 26, 2022
@bitcoin-core bitcoin-core locked and limited conversation to collaborators Oct 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants