diff --git a/ledger/src/blockstore.rs b/ledger/src/blockstore.rs index 8299640c4e..9ee3ee7ca8 100644 --- a/ledger/src/blockstore.rs +++ b/ledger/src/blockstore.rs @@ -842,7 +842,13 @@ impl Blockstore { leader_schedule, shred_source, ) { - Err(InsertDataShredError::Exists) => metrics.num_data_shreds_exists += 1, + Err(InsertDataShredError::Exists) => { + if is_repaired { + metrics.num_repaired_data_shreds_exists += 1; + } else { + metrics.num_turbine_data_shreds_exists += 1; + } + } Err(InsertDataShredError::InvalidShred) => { metrics.num_data_shreds_invalid += 1 } diff --git a/ledger/src/blockstore_metrics.rs b/ledger/src/blockstore_metrics.rs index 2f5d5a58b9..c0b26c37f8 100644 --- a/ledger/src/blockstore_metrics.rs +++ b/ledger/src/blockstore_metrics.rs @@ -33,7 +33,8 @@ pub struct BlockstoreInsertionMetrics { pub num_recovered_failed_sig: usize, pub num_recovered_failed_invalid: usize, pub num_recovered_exists: usize, - pub num_data_shreds_exists: usize, + pub num_repaired_data_shreds_exists: usize, + pub num_turbine_data_shreds_exists: usize, pub num_data_shreds_invalid: usize, pub num_data_shreds_blockstore_error: usize, pub num_coding_shreds_exists: usize, @@ -102,7 +103,16 @@ impl BlockstoreInsertionMetrics { self.num_recovered_blockstore_error, i64 ), - ("num_data_shreds_exists", self.num_data_shreds_exists, i64), + ( + "num_repaired_data_shreds_exists", + self.num_repaired_data_shreds_exists, + i64 + ), + ( + "num_turbine_data_shreds_exists", + self.num_turbine_data_shreds_exists, + i64 + ), ("num_data_shreds_invalid", self.num_data_shreds_invalid, i64), ( "num_data_shreds_blockstore_error",