Snapshot manifest block added to prometheus (#232)
Co-authored-by: adria0.eth <5526331+adria0@users.noreply.github.com>
This commit is contained in:
parent
f3bdc0da3c
commit
59d891edf4
@ -853,6 +853,13 @@ impl SnapshotService for Service {
|
||||
self.reader.read().as_ref().map(|r| r.manifest().clone())
|
||||
}
|
||||
|
||||
fn manifest_block(&self) -> Option<(u64, H256)> {
|
||||
self.reader.read().as_ref().map(|reader| {
|
||||
let manifest = reader.manifest();
|
||||
(manifest.block_number, manifest.block_hash)
|
||||
})
|
||||
}
|
||||
|
||||
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||
self.engine
|
||||
.snapshot_components()
|
||||
|
@ -26,6 +26,9 @@ pub trait SnapshotService: Sync + Send {
|
||||
/// Query the most recent manifest data.
|
||||
fn manifest(&self) -> Option<ManifestData>;
|
||||
|
||||
/// Query the most recent snapshoted block number and hash.
|
||||
fn manifest_block(&self) -> Option<(u64, H256)>;
|
||||
|
||||
/// Get the supported range of snapshot version numbers.
|
||||
/// `None` indicates warp sync isn't supported by the consensus engine.
|
||||
fn supported_versions(&self) -> Option<(u64, u64)>;
|
||||
|
@ -406,6 +406,11 @@ impl PrometheusMetrics for EthSync {
|
||||
|
||||
let restoration = self.eth_handler.snapshot_service.restoration_status();
|
||||
let creation = self.eth_handler.snapshot_service.creation_status();
|
||||
let (manifest_block_num, _) = self
|
||||
.eth_handler
|
||||
.snapshot_service
|
||||
.manifest_block()
|
||||
.unwrap_or((0, H256::zero()));
|
||||
|
||||
prometheus_gauge(
|
||||
r,
|
||||
@ -427,6 +432,12 @@ impl PrometheusMetrics for EthSync {
|
||||
0
|
||||
},
|
||||
);
|
||||
prometheus_gauge(
|
||||
r,
|
||||
"snapshot_manifest_block",
|
||||
"First block number of the present snapshot",
|
||||
manifest_block_num as i64,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,6 +89,12 @@ impl SnapshotService for TestSnapshotService {
|
||||
self.manifest.as_ref().cloned()
|
||||
}
|
||||
|
||||
fn manifest_block(&self) -> Option<(u64, H256)> {
|
||||
self.manifest
|
||||
.as_ref()
|
||||
.map(|manifest| (manifest.block_number, manifest.block_hash))
|
||||
}
|
||||
|
||||
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||
Some((1, 2))
|
||||
}
|
||||
|
@ -44,6 +44,9 @@ impl SnapshotService for TestSnapshotService {
|
||||
fn manifest(&self) -> Option<ManifestData> {
|
||||
None
|
||||
}
|
||||
fn manifest_block(&self) -> Option<(u64, H256)> {
|
||||
None
|
||||
}
|
||||
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||
None
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user