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())
|
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)> {
|
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||||
self.engine
|
self.engine
|
||||||
.snapshot_components()
|
.snapshot_components()
|
||||||
|
@ -26,6 +26,9 @@ pub trait SnapshotService: Sync + Send {
|
|||||||
/// Query the most recent manifest data.
|
/// Query the most recent manifest data.
|
||||||
fn manifest(&self) -> Option<ManifestData>;
|
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.
|
/// Get the supported range of snapshot version numbers.
|
||||||
/// `None` indicates warp sync isn't supported by the consensus engine.
|
/// `None` indicates warp sync isn't supported by the consensus engine.
|
||||||
fn supported_versions(&self) -> Option<(u64, u64)>;
|
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 restoration = self.eth_handler.snapshot_service.restoration_status();
|
||||||
let creation = self.eth_handler.snapshot_service.creation_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(
|
prometheus_gauge(
|
||||||
r,
|
r,
|
||||||
@ -427,6 +432,12 @@ impl PrometheusMetrics for EthSync {
|
|||||||
0
|
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()
|
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)> {
|
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||||
Some((1, 2))
|
Some((1, 2))
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,9 @@ impl SnapshotService for TestSnapshotService {
|
|||||||
fn manifest(&self) -> Option<ManifestData> {
|
fn manifest(&self) -> Option<ManifestData> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
fn manifest_block(&self) -> Option<(u64, H256)> {
|
||||||
|
None
|
||||||
|
}
|
||||||
fn supported_versions(&self) -> Option<(u64, u64)> {
|
fn supported_versions(&self) -> Option<(u64, u64)> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user