Commit Graph

299 Commits

Author SHA1 Message Date
Roman Zeyde
027cf65a0f
Rename main binary to 'electrs' 2018-06-14 12:34:50 +03:00
Roman Zeyde
71dc45074b
Run fetching and indexing in separate threads
Indexing throughput should improve since fetching takes ~half of the time.
2018-06-14 11:57:03 +03:00
Roman Zeyde
48f26a5309
Use spawn_thread in metrics and rpc modules 2018-06-14 11:53:48 +03:00
Roman Zeyde
f726853eb2
Allow reconnecting to bitcoind 2018-06-14 11:52:27 +03:00
Roman Zeyde
6a5dd18349
Add helper function for spawning named threads 2018-06-14 11:51:58 +03:00
Roman Zeyde
7908877000
Rename a variable for readability 2018-06-14 00:10:35 +03:00
Roman Zeyde
0340dd87c8
Fix graceful shutdown TODO 2018-06-14 00:08:18 +03:00
Roman Zeyde
284275e2d1
Stop and join all Electrum client threads on SIGINT 2018-06-14 00:07:35 +03:00
Roman Zeyde
165b48ccce
Gracefully close Electrum RPC server from after SIGINT 2018-06-14 00:00:21 +03:00
Roman Zeyde
c2af5bc01a
Split accepting clients into a separate thread 2018-06-13 23:31:49 +03:00
Roman Zeyde
4aa0a45cc9
Wrap mpsc::channel in helper classes 2018-06-13 23:30:56 +03:00
Roman Zeyde
581d53826e
Remove monitoring TODOs 2018-06-13 22:55:04 +03:00
Roman Zeyde
3504ee8a95
Remove unneeded ()s 2018-06-13 22:43:06 +03:00
Roman Zeyde
a6c9912c55
Start monitoring server at benchmark tool 2018-06-13 12:40:21 +03:00
Roman Zeyde
96663c12e8
Measure daemon RPC rx/tx bytes 2018-06-13 12:36:39 +03:00
Roman Zeyde
9b23b4324b
Remove unneeded debug log statement 2018-06-13 11:51:57 +03:00
Roman Zeyde
b0b48f555c
Reorder mempool polling and metrics serving 2018-06-13 11:45:07 +03:00
Roman Zeyde
ead1e02f9b
Disable WAL and sync during initial bulk load writes 2018-06-13 11:39:04 +03:00
Roman Zeyde
6561b98295
Monitor indexing duration via Prometheus 2018-06-13 10:58:06 +03:00
Roman Zeyde
1f2fb6e4a0
Remove progress bar (to be replaced by Prometheus monitoring) 2018-06-13 10:10:06 +03:00
Roman Zeyde
4d783a3898
Replace RPC timing with Prometheus monitoring 2018-06-13 10:05:27 +03:00
Roman Zeyde
4b0773e55b
Shorten RPC sender/receiver to tx/rx 2018-06-13 09:18:52 +03:00
Roman Zeyde
c3a74e9301
Export mempool size and update duration to Prometheus 2018-06-13 00:07:18 +03:00
Roman Zeyde
456159fa09
Rename mempool Stats -> Item 2018-06-12 23:48:06 +03:00
Roman Zeyde
1a117933ff
Remove mempool logging to be replaced by proper monitoring 2018-06-12 23:41:10 +03:00
Roman Zeyde
2facecb95b
Rename bitcoind RPC histogram name 2018-06-12 23:26:45 +03:00
Roman Zeyde
6650fbe888
Monitor Bitcoind RPC latency 2018-06-12 21:52:00 +03:00
Roman Zeyde
7f35fddc4d
Add support for histogram monitoring 2018-06-12 21:51:22 +03:00
Roman Zeyde
13d5036b7a
Spawn monitoring service thread via Metrics::start() 2018-06-12 21:49:43 +03:00
Roman Zeyde
ee91ccc233
Add a gauge for last indexed block's height 2018-06-12 21:48:30 +03:00
Roman Zeyde
05fd268b51
Replace indexing timer logging by proper monitoring 2018-06-12 18:51:45 +03:00
Roman Zeyde
c3682ade1f
Add support for Prometheus monitoring 2018-06-12 18:47:28 +03:00
Roman Zeyde
61fbd4d3ca
Skip WAL during indexing writes
Flush should make sure everything is written to disk.
2018-06-12 17:11:40 +03:00
Roman Zeyde
eb91f08b75
Add RPC server stopping TODO 2018-06-12 00:01:20 +03:00
Roman Zeyde
552cc8e4c5
Ignore other DB directories 2018-06-12 00:01:20 +03:00
Roman Zeyde
70a5085469
Allow indexing cancellation via SIGINT 2018-06-12 00:01:20 +03:00
Roman Zeyde
67bf98f238
Respond to SIGINT during indexing phase 2018-06-11 12:39:52 +03:00
Roman Zeyde
f8a577b396
Allow specifying DB directory 2018-06-11 12:39:24 +03:00
Roman Zeyde
c0a4f7a520
Log indexing statistics (blocks, txns, vsize) 2018-06-11 12:27:54 +03:00
Roman Zeyde
49afcc658f
Refactor common JSONRPC reply parsing code 2018-06-11 00:05:45 +03:00
Roman Zeyde
3fff933923
Log periodic status updates' timing 2018-06-10 23:16:23 +03:00
Roman Zeyde
6f0d9ba989
Log mempool size in (virtual) bytes 2018-06-10 23:13:55 +03:00
Roman Zeyde
a47337c2c3
Make mempool::Stats struct private 2018-06-10 23:10:39 +03:00
Roman Zeyde
b4b05909d5
Return mempool entries as a HashSet 2018-06-10 22:58:20 +03:00
Roman Zeyde
f480e4f6c5
Cache loaded transaction (by txid) for faster periodic polling 2018-06-10 19:33:56 +03:00
Roman Zeyde
f787a897bf
No need for keeping acceptor thread handle (for now) 2018-06-10 18:31:51 +03:00
Roman Zeyde
2ac61d84f0
Move logging into library 2018-06-10 18:29:34 +03:00
Roman Zeyde
fbcb3855c8
Schedule periodic RPC updates from main thread polling 2018-06-10 18:15:37 +03:00
Roman Zeyde
8351329846
Add sled TODO 2018-06-10 09:40:53 +03:00
Roman Zeyde
74ab7eafdc
Mark sync-related TODOs as done 2018-06-10 09:08:56 +03:00