rocksdb/utilities/blob_db
Levi Tamasi 9e3ace42a4 Add statistics for BlobDB GC (#6296)
Summary:
The patch adds statistics support to the new BlobDB garbage collection implementation;
namely, it adds support for the following (pre-existing) tickers:

`BLOB_DB_GC_NUM_FILES`: the number of blob files obsoleted by the GC logic.
`BLOB_DB_GC_NUM_NEW_FILES`: the number of new blob files generated by the GC logic.
`BLOB_DB_GC_FAILURES`: the number of failed GC passes (where a GC pass is
equivalent to a (sub)compaction).
`BLOB_DB_GC_NUM_KEYS_RELOCATED`: the number of blobs relocated to new blob
files by the GC logic.
`BLOB_DB_GC_BYTES_RELOCATED`: the total size of blobs relocated to new blob files.

The tickers `BLOB_DB_GC_NUM_KEYS_OVERWRITTEN`, `BLOB_DB_GC_NUM_KEYS_EXPIRED`,
`BLOB_DB_GC_BYTES_OVERWRITTEN`, `BLOB_DB_GC_BYTES_EXPIRED`, and
`BLOB_DB_GC_MICROS` are not relevant for the new GC logic, and are thus marked
deprecated.

The patch also adds a couple of log messages that log the number and total size of
blobs encountered and relocated during a GC pass, as well as the number of blob
files created and obsoleted.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6296

Test Plan: Extended unit tests and used the BlobDB mode of `db_bench`.

Differential Revision: D19402513

Pulled By: ltamasi

fbshipit-source-id: d53d2bfbf4928a1db1e9346c67ebb9007b8932ec
2020-01-29 16:46:16 -08:00
..
blob_compaction_filter.cc Add statistics for BlobDB GC (#6296) 2020-01-29 16:46:16 -08:00
blob_compaction_filter.h Add statistics for BlobDB GC (#6296) 2020-01-29 16:46:16 -08:00
blob_db_gc_stats.h Add statistics for BlobDB GC (#6296) 2020-01-29 16:46:16 -08:00
blob_db_impl_filesnapshot.cc Add file number/oldest referenced blob file number to {Sst,Live}FileMetaData (#6011) 2019-11-07 14:04:16 -08:00
blob_db_impl.cc Add statistics for BlobDB GC (#6296) 2020-01-29 16:46:16 -08:00
blob_db_impl.h Remove earlier partial BlobDB GC implementation (#6278) 2020-01-14 15:08:44 -08:00
blob_db_iterator.h Remove earlier partial BlobDB GC implementation (#6278) 2020-01-14 15:08:44 -08:00
blob_db_listener.h BlobDB: Maintain mapping between blob files and SSTs (#6020) 2019-11-11 14:01:34 -08:00
blob_db_test.cc Add statistics for BlobDB GC (#6296) 2020-01-29 16:46:16 -08:00
blob_db.cc Log garbage_collection_cutoff alongside the other BlobDB options 2019-12-20 11:00:53 -08:00
blob_db.h Remove earlier partial BlobDB GC implementation (#6278) 2020-01-14 15:08:44 -08:00
blob_dump_tool.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
blob_dump_tool.h Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_file.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
blob_file.h Remove earlier partial BlobDB GC implementation (#6278) 2020-01-14 15:08:44 -08:00
blob_log_format.cc utilities: Fix build failure with -Werror=maybe-uninitialized (#5074) 2019-03-18 11:35:06 -07:00
blob_log_format.h Refactor blob file creation logic (#6066) 2019-11-26 13:28:32 -08:00
blob_log_reader.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_reader.h Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_writer.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_writer.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00