Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

backport blockchain stats plugin 0.16.5 #336

Closed
kotbegemot opened this issue Dec 25, 2017 · 4 comments
Closed

backport blockchain stats plugin 0.16.5 #336

kotbegemot opened this issue Dec 25, 2017 · 4 comments
Assignees
Labels
Milestone

Comments

@kotbegemot
Copy link

kotbegemot commented Dec 25, 2017

blockchain stats plugin
see issue:
#112
#209

@kotbegemot kotbegemot changed the title backport blockchain stats plugin backport blockchain stats plugin 0.16.5 Dec 25, 2017
@kotbegemot kotbegemot added this to In-Progress in GolosCoreOLD Dec 25, 2017
@AKorpusenko
Copy link

Let me describe the problem a little bit in more detail.

  • First of all, in first implementation I've used libcds lock-free flat combining queue. Btw I had a pain in the neck connected with cmake configuring libcds. After all I've finally done it, but after merging we've had some troubles with building libcds and we've figured out that we shouldn't use libcds, because its large thing to build and we don't need it mostly. So I've just removed the queue and made the statistics sender without any queue anymore.
    Now I do understand, that this statistics sender can slow (and its actually does so) the daemons work. If you look to the current source code of blockchain_statistics plugin you will see that sender sends a string with evaluator's delta via udp to all statsD agregators, so if we stably make the daemon spam to all agregators. And the data sending process is in the same thread, so daemon's work stops till it finish to send statistics change to all statsD endpoints. Thats why we have to write some small thread safe queue (maybe using mutex) for storing statistics changes as integrating libcds lock-free queue is so hard.
  • Second problem in blockchain_statistics plugin is that not all the evaluators are handled. Also the handling is written in bad place. The good one place for that is blockchain_statistics_plugin_impl::on_block method, because it is called only about every 3 seconds.

@AKorpusenko
Copy link

As softfork 16.5 has to be implemented as soon as possible, we decided just to backport data sending feature.

@AKorpusenko AKorpusenko moved this from To Do to In progress in 0.16.5 Jan 5, 2018
@VIM-Arcange
Copy link

VIM-Arcange commented Jan 5, 2018

@AKorpusenko can we have an official statement on:

  • what is the purpose of softfork 16.5?
  • what will be included in it?
  • why suddenly it has to be implemented has soon as possible?
  • when it will be implemented?

Thank you

@nemothenoone
Copy link
Member

@VIM-Arcange The purpose of version 0.16.5 is to backport some Steemit blockchain platform changes to Golos until version 0.17.0 got fully tested and well documented. An example of backported feature - steemit#1265.

@AKorpusenko AKorpusenko moved this from In progress to Review in 0.16.5 Jan 8, 2018
kotbegemot added a commit that referenced this issue Jan 15, 2018
Backported blockchain_statistics plugin from 17.0 and refactored to support new api. #336
@kotbegemot kotbegemot moved this from Review to Done in 0.16.5 Jan 15, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
GolosCoreOLD
In-Progress
0.16.5
  
Done
Development

No branches or pull requests

4 participants