From 206c3dd402a15c8a227b36b11b5d9f5d3985a8f7 Mon Sep 17 00:00:00 2001 From: Yueh-Hsuan Chiang <93241502+yhchiang-sol@users.noreply.github.com> Date: Thu, 7 Apr 2022 00:24:10 -0700 Subject: [PATCH] (LedgerStore) Enable RocksDB Perf metrics reporting for get_bytes and put_bytes (#24066) #### Summary of Changes Enable RocksDB Perf metrics reporting for get_bytes and put_bytes. --- ledger/src/blockstore_db.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ledger/src/blockstore_db.rs b/ledger/src/blockstore_db.rs index 14c03882d5..9d49b996c5 100644 --- a/ledger/src/blockstore_db.rs +++ b/ledger/src/blockstore_db.rs @@ -1979,7 +1979,12 @@ where C: Column + ColumnName + ColumnMetrics, { pub fn get_bytes(&self, key: C::Index) -> Result>> { - self.backend.get_cf(self.handle(), &C::key(key)) + let is_perf_context_enabled = maybe_collect_perf_context(); + let result = self.backend.get_cf(self.handle(), &C::key(key)); + if is_perf_context_enabled { + report_read_perf_context(C::rocksdb_get_perf_metric_header(&self.column_options)); + } + result } pub fn iter( @@ -2049,7 +2054,12 @@ where } pub fn put_bytes(&self, key: C::Index, value: &[u8]) -> Result<()> { - self.backend.put_cf(self.handle(), &C::key(key), value) + let is_perf_context_enabled = maybe_collect_perf_context(); + let result = self.backend.put_cf(self.handle(), &C::key(key), value); + if is_perf_context_enabled { + report_write_perf_context(C::rocksdb_put_perf_metric_header(&self.column_options)); + } + result } /// Retrieves the specified RocksDB integer property of the current