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 monitor with last version from freimairs repo #4685

Conversation

chimp1984
Copy link
Contributor

Update monitor code base with latest version form @freimair repo.
Current version does not work due a nullpointer in connection. This was solved in @freimair's repo, but we removed it in that PR as it will have a better solution in #4680. We will make another new PR where this PR will be based on #4680 so the monitor become valid again.

freimair and others added 9 commits October 22, 2020 11:36
The monitor does not use the common bisq app base featuring guice.
Hence, the `config` in the `Connection` class is never injected
and leads to NullPointerExceptions and ultimately breaks the monitor.

This workaround initilizes default values in case guice isn't there.
solved in another PR which we will add to that PR in next commits)
@chimp1984 chimp1984 mentioned this pull request Oct 22, 2020
sqrrm
sqrrm previously approved these changes Oct 22, 2020
Copy link
Member

@sqrrm sqrrm left a comment

Choose a reason for hiding this comment

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

utACK

Copy link
Member

@sqrrm sqrrm left a comment

Choose a reason for hiding this comment

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

utACK

@sqrrm sqrrm merged commit 380a57a into bisq-network:master Oct 22, 2020
@chimp1984 chimp1984 deleted the update-monitor-with-last-version-from-freimairs-repo branch October 22, 2020 21:40
@freimair
Copy link
Contributor

ahm, guys, there is a reason why I did not create a PR for my local changes to the monitor:

  • the stuff would affect every users, but it is only needed for the monitor (although you reverted the change anyways)
  • the new metrics are not production ready because the accompanying project Create more detailed offerbook metrics projects#22 has not been granted (I only started work because in the very early days of projects, I was told that the project is of interest and I can start work on it)

so @chimp1984 you pretty much pulled in stuff created by other people without even contacting the people you pulled the stuff from and the reviewer @sqrrm did not even fire the thing up. That is not good practice!

@chimp1984
Copy link
Contributor Author

The only non-monitor change was in Connection which I reverted and is replaced by another better solution from another PR.
The monitor as it checked in causes immediately a nullpointer. Not keeping the project up to data since April is no good practice. I don't know which code base you use for the monitor webpage, there is also nothing checked in from the grafana side and I assume there is quite a bit to customize/config to be able to run the server to deliver the same result as the monitor. Do you have any repo for that? If no can you create one? You got paid quite a lot of BSQ for a monitor which never fulfilled its goals - to be an alert system for seed nodes. I expect that at least we can re-use the product we have paid for without re-building all the non-visible stuff (grafana config).

@freimair
Copy link
Contributor

which never fulfilled its goals - to be an alert system for seed nodes

that is not entirely true. You before all should know that.

Back in the days we started monitoring stuff because we wanted to find out how healthy the Bisq network is. First task, for example, was to see if the Tor network is ok, so we can establish a baseline for Bisq's p2p network performance. Since then, we added metrics of areas which seemed interesting and we learned a whole lot about our p2p network. Being an alert system for the seed nodes has only been another use case that got added later. Sadly, we never managed to pull it off, simply because it turned out to be very hard to rule out false positives. We even tried binding compensation rates to seednode uptimes (https://monitor.bisq.network/d/G0Mk_uIWk/seednode-uptime-playground?orgId=1), however, these efforts stalled as well because nobody wanted to make a decision. The most recent addition has been the network size estimation which clearly showed us that although we expected thousands of users, bisq only has <400 at any time (meaning we have ~33 clients per seednode, and a seednode can host 50 - so Bisq's p2p network is actually hardly decentralized). Plus, in the last months, the initial data request sizes outgrew the capabilities of the monitors Tor uplink (because first, data sizes grew significantly, and second, we once had 6 seednodes, now we have 12) and hence, some metrics started glitching out more than I liked it (please be aware that I formulated and implemented a fix months ago which you recently took over).

All in all, the monitor helped finding issues and design counter strategies. And that is what the monitor was created for - that is what I and others got paid for. The bad part is that the issues we found turned out to be very substantial and improving the situation requires deep changes in the p2p part of the code. Thus the counter strategies either never got merged or have been reverted shortly after being applied (the daily seednode restart prevails and seednodes are not synced up properly still), other changes where tagged a "hosting issue" while totally ignoring the data.

@chimp1984
Copy link
Contributor Author

Being an alert system for the seed nodes has only been another use case that got added later.

Maybe you saw that this way, for me it was always the main goal.

@freimair
Copy link
Contributor

well, the monitoring project has been designed that way and accepted that way. So I did exactly that. Here is the accompanying proposal: bisq-network/proposals#62

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

Successfully merging this pull request may close these issues.

3 participants