On 2015-05-25 06:52, Eric Voskuil wrote: > So while Neill is working on Bitcoin protocol review I'm now working on
> instrumenting the network stack so that we can get a view into
> concurrency issues.
Eric,
Just a low-prio wishlist thing, it would be nice if at least the most
fundamental of the LB state instrumentation/introspection routines you
implement, would be exported and have well-defined interfaces, so that a
program using LB could get some nice stat of thread use & activity and
heap activity, even if just a listing like "Thread 1, blockchain, req
123", "Thread 2, network IO, select()", "Orphaned blocks 123 occupying
234MB", "Total blocks cached on the heap 345 occupying 456MB".
Even just a debug log string generation method would do the work, e.g.
getLBState() returning a string containing the example strings above
appended together, \n-separated.
There will always be exotic RAM/CPU consumption bugs in a program and
some basic live function to clarify that it's very-very-very-much
unlikely to be from LB, would be very useful both for this and just for
general monitoring or program debug output.