2018-08-01 15:00:18 +03:00
|
|
|
/// Benchmark regular indexing flow (using JSONRPC), don't persist the resulting index.
|
2018-06-05 13:41:32 +03:00
|
|
|
extern crate electrs;
|
|
|
|
extern crate error_chain;
|
|
|
|
|
2018-06-25 22:16:22 +03:00
|
|
|
#[macro_use]
|
|
|
|
extern crate log;
|
|
|
|
|
2018-07-03 11:46:36 +03:00
|
|
|
use electrs::{
|
2019-07-03 12:27:29 +00:00
|
|
|
cache::BlockTxIDsCache, config::Config, daemon::Daemon, errors::*, fake::FakeStore,
|
|
|
|
index::Index, metrics::Metrics, signal::Waiter,
|
2018-07-03 11:46:36 +03:00
|
|
|
};
|
2018-06-09 18:22:30 +03:00
|
|
|
use error_chain::ChainedError;
|
2019-07-03 12:27:29 +00:00
|
|
|
use std::sync::Arc;
|
2018-06-05 13:41:32 +03:00
|
|
|
|
|
|
|
fn run() -> Result<()> {
|
2019-03-08 18:37:24 +02:00
|
|
|
let signal = Waiter::start();
|
2018-06-05 13:41:32 +03:00
|
|
|
let config = Config::from_args();
|
2018-06-12 18:51:45 +03:00
|
|
|
let metrics = Metrics::new(config.monitoring_addr);
|
2018-06-13 12:40:21 +03:00
|
|
|
metrics.start();
|
2019-07-03 23:43:11 +02:00
|
|
|
let cache = Arc::new(BlockTxIDsCache::new(0, &metrics));
|
2018-06-13 12:40:21 +03:00
|
|
|
|
2018-07-09 17:10:24 +03:00
|
|
|
let daemon = Daemon::new(
|
|
|
|
&config.daemon_dir,
|
2018-07-15 22:39:19 +03:00
|
|
|
config.daemon_rpc_addr,
|
2018-07-28 11:29:19 +03:00
|
|
|
config.cookie_getter(),
|
2018-07-09 17:10:24 +03:00
|
|
|
config.network_type,
|
2018-07-29 09:42:58 +03:00
|
|
|
signal.clone(),
|
2019-07-03 12:27:29 +00:00
|
|
|
cache,
|
2018-07-09 17:10:24 +03:00
|
|
|
&metrics,
|
|
|
|
)?;
|
2018-06-05 13:41:32 +03:00
|
|
|
let fake_store = FakeStore {};
|
2018-08-05 15:06:48 +03:00
|
|
|
let index = Index::load(&fake_store, &daemon, &metrics, config.index_batch_size)?;
|
2018-06-14 11:56:47 +03:00
|
|
|
index.update(&fake_store, &signal)?;
|
2018-06-05 13:41:32 +03:00
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
if let Err(e) = run() {
|
2018-06-25 22:16:22 +03:00
|
|
|
error!("{}", e.display_chain());
|
2018-06-05 13:41:32 +03:00
|
|
|
}
|
|
|
|
}
|