diff --git a/Cargo.lock b/Cargo.lock index c3ac071e90..ed2c23e8bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1025,6 +1025,7 @@ dependencies = [ "ckb-jsonrpc-types", "ckb-light-client-protocol-server", "ckb-logger", + "ckb-metrics", "ckb-network", "ckb-network-alert", "ckb-resource", diff --git a/util/launcher/Cargo.toml b/util/launcher/Cargo.toml index f9549838e6..a1ae8cd150 100644 --- a/util/launcher/Cargo.toml +++ b/util/launcher/Cargo.toml @@ -31,6 +31,7 @@ ckb-channel = { path = "../channel", version = "= 0.118.0-pre" } ckb-tx-pool = { path = "../../tx-pool", version = "= 0.118.0-pre" } ckb-light-client-protocol-server = { path = "../light-client-protocol-server", version = "= 0.118.0-pre" } ckb-block-filter = { path = "../../block-filter", version = "= 0.118.0-pre" } +ckb-metrics = { path = "../../util/metrics", version = "= 0.118.0-pre" } [features] with_sentry = ["ckb-sync/with_sentry", "ckb-network/with_sentry", "ckb-app-config/with_sentry"] diff --git a/util/launcher/src/lib.rs b/util/launcher/src/lib.rs index 1598953e25..9da7ebc5f5 100644 --- a/util/launcher/src/lib.rs +++ b/util/launcher/src/lib.rs @@ -24,7 +24,7 @@ use ckb_rpc::{RpcServer, ServiceBuilder}; use ckb_shared::{ChainServicesBuilder, Shared}; use ckb_shared::shared_builder::{SharedBuilder, SharedPackage}; -use ckb_store::ChainDB; +use ckb_store::{ChainDB, ChainStore}; use ckb_sync::{BlockFilter, NetTimeProtocol, Relayer, SyncShared, Synchronizer}; use ckb_tx_pool::service::TxVerificationResult; use ckb_types::prelude::*; @@ -227,6 +227,12 @@ impl Launcher { ) -> ChainController { let chain_controller = ckb_chain::start_chain_services(chain_services_builder); info!("chain genesis hash: {:#x}", shared.genesis_hash()); + + if let Some(metrics) = ckb_metrics::handle() { + if let Some(tip) = shared.store().get_tip_header() { + metrics.ckb_chain_tip.set(tip.number() as i64); + } + } chain_controller }