• L
    Update compaction statistics to include the amount of data read from blob files (#8022) · cb25bc11
    Levi Tamasi 提交于
    Summary:
    The patch does the following:
    1) Exposes the amount of data (number of bytes) read from blob files from
    `BlobFileReader::GetBlob` / `Version::GetBlob`.
    2) Tracks the total number and size of blobs read from blob files during a
    compaction (due to garbage collection or compaction filter usage) in
    `CompactionIterationStats` and propagates this data to
    `InternalStats::CompactionStats` / `CompactionJobStats`.
    3) Updates the formulae for write amplification calculations to include the
    amount of data read from blob files.
    4) Extends the compaction stats dump with a new column `Rblob(GB)` and
    a new line containing the total number and size of blob files in the current
    `Version` to complement the information about the shape and size of the LSM tree
    that's already there.
    5) Updates `CompactionJobStats` so that the number of files and amount of data
    written by a compaction are broken down per file type (i.e. table/blob file).
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/8022
    
    Test Plan: Ran `make check` and `db_bench`.
    
    Reviewed By: riversand963
    
    Differential Revision: D26801199
    
    Pulled By: ltamasi
    
    fbshipit-source-id: 28a5f072048a702643b28cb5971b4099acabbfb2
    cb25bc11
db_iter.cc 51.4 KB