(LedgerStore) Enable performance sampling in column family get() (#23834)
#### Summary of Changes This PR enables RocksDB read side performance metrics to report to blockstore_rocksdb_read_perf. The sampling rate is controlled by an env arg `SOLANA_METRICS_ROCKSDB_PERF_SAMPLES_IN_1K`, specifies the number of perf samples for every 1000 operations. The default value is set to 10, meaning we will report 10 out of 1000 (or 1/100) reads. The metrics are based on the RocksDB [PerfContext](https://github.com/facebook/rocksdb/blob/main/include/rocksdb/perf_context.h). It includes many useful metrics including block read time, cache hit rate, and time spent on decompressing the block.
This commit is contained in:
committed by
GitHub
parent
c9a476e24d
commit
0b5ed87220
@ -13,7 +13,9 @@ use {
|
||||
},
|
||||
};
|
||||
|
||||
// Determines how often we report blockstore metrics.
|
||||
// Determines how often we report blockstore metrics under
|
||||
// LedgerMetricReportService. Note that there're other blockstore
|
||||
// metrics that are reported outside LedgerMetricReportService.
|
||||
const BLOCKSTORE_METRICS_REPORT_PERIOD_MILLIS: u64 = 10000;
|
||||
|
||||
pub struct LedgerMetricReportService {
|
||||
|
Reference in New Issue
Block a user