-
Notifications
You must be signed in to change notification settings - Fork 279
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
WIP qt: mempool stats chart #320
WIP qt: mempool stats chart #320
Conversation
There is a lot if interest in #108 |
Thanks for picking this up. Looks like it broke a few CI instances, probably because of the compiler warnings (that are treated as errors). |
e5b3ab8
to
1baeb53
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
I don't know if @jonasschnelli has completely given up on his original PR yet.
This is still very much a work in progress. So, it should be labeled as such and made into a draft.
When you push changes, it would be nice if you could write a small post explaining what has changed between updates. This makes it easier for people to follow along.
static const int GRAPH_PADDING_TOP_LABEL = 10; | ||
static const int GRAPH_PADDING_BOTTOM = 50; | ||
|
||
void ClickableTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clicking on the text item next to the RECT still reliably causes a segmentation fault
0 org.qt-project.QtCore 0x0000000103eb5bf9 0x103c9f000 + 2190329
1 bitcoin-qt 0x00000001029ad160 ClickableRectItem::objectClicked(QGraphicsItem*) + 64 (moc_mempoolstats.cpp:247)
2 org.qt-project.QtCore 0x0000000103eb6042 0x103c9f000 + 2191426
3 bitcoin-qt 0x00000001029acea0 ClickableTextItem::objectClicked(QGraphicsItem*) + 64 (moc_mempoolstats.cpp:134)
Has anyone worked out how to make the Y axis show memory usage rather than tx count? (ideally in a way that it shows a flat line once we reach the maxmempool). |
I would prefer MB over count too if it's not too difficult. I might take a look a later to see how... Can you split this PR a bit? E.g. one commit for the Also for a followup: little dots to indicate your wallet unconfirmed transactions :-) |
1baeb53
to
daeadd2
Compare
Concept ACK
There should be a way to select Tx count or vSize Not sure if others will agree with it or maybe we can do this in follow up PRs, I created a rough design of mempool tab: Left: History for mempool over a time period. User can select the time frame. Right: Current fee rate distribution in mempool. I have used image from https://btc.bitaps.com (An option to switch between Tx count and vSize can be added) User can enter a transaction id in the text edit widget to see where it is in the mempool (similar to https://mempool.observer): Can be highlighted in the 'fee distribution' graph with dotted lines. I have used dotted lines and "glasses" sticker: |
Co-authored-by: Jonas Schnelli <[email protected]> Co-authored-by: @RandyMcMillan <[email protected]>
daeadd2
to
b6d0a95
Compare
I agree that insights into a nodes mempool are really interesting and useful. I too understand that users want to use their own full node and not rely on external services. However, I'm not sure if the Bitcoin Core GUI is the right place for it. From my experience, different types of users want different stats, charts, chart axis and so forth... I think having good interfaces to access this data and then visualizing it, for example, on a web page, scales way better and requires much less maintenance on the Bitcoin Core side. I'm leaning towards a Concept NACK for now. Disclaimer: I run such a site visualizing the mempool of my node, but I don't think this influences my reasoning here. I have no incentive to NACK here. I don't make money off site visitors. The hosting is payed by myself and donations (sometimes listed as sponsors) and I'm not compensated for my time maintaining it. |
Could we limit this feature to some set of data (texts, tables, charts) that just could give to a pro-user useful info to manually set a feerate for his transaction? |
I am a strong Concept ACK for @prayank23 's design. Improving Core's GUI and widening the user base is important. |
Personally I'm happy to review and test this, and it's something I would use. Mempool weather is something I check before and during every transaction. Although websites can indeed iterate faster, it's nice to have it in the node. The Hoenicke design that this is based on hasn't changed in many years, so I'm also not terribly worried about maintenance. And if we correctly split the data collection (node & rpc: seperate PR) from the visualisation (gui), then there may be other use cases too. |
😞 Reason for close? Mark up for grabs? |
Mempool related charts and options are a basic thing which should have been there in Bitcoin Core GUI few years back. Sad that we won't see it in v22.0 but still not too late to start working on it for future release.
Agree. But that is true for lot of things in Bitcoin Core GUI. We should add atleast basic things that everyone finds useful.
Yes, website works better for charts. However, both can be used. One or two basic charts and options in Core GUI and other detailed mempool stats on different websites. Is https://mempool.observer open source? Can users run it locally and use their own node? That would be helpful |
This. |
I've managed to do this... but I cheated a little bit as there is memory used in addition to the TXs that fluctuates over time, so if you want a nice flat line when your node starts pruning TXs from the mempool, then you won't get that unless you cheat :) (which I have). I will upload my patches soon. |
Concept ACK
I agree with @prayank23 here, if you use Bitcoin Core as a wallet (and I don't see a reason running GUI if you don't), this is probably the most important metric to decide what transaction fee to use for transaction. |
Concept ACK. @0xB10C I think some basic mempool viz is reasonable. Will review. |
Thanks everybody for the feedback and discussion. I've reconsidered my position on this. I agree that some basic mempool weather in the GUI makes sense. |
People who have (Concept) ACKd this should look at #108 |
@RandyMcMillan Do you want to reopen this? I can work on it if you have bandwidth issues |
Why do I see a different chart and nothing on right with
Same thing on Ubuntu and Windows.
I had used the results of So which chart would look better and everyone agrees to add in Node window? |
add graphical mempool display to Node window