• Y
    Allow GetThreadList() to report basic compaction operation properties. · 77a5a543
    Yueh-Hsuan Chiang 提交于
    Summary:
    Now we're able to show more details about a compaction in
    GetThreadList() :)
    
    This patch allows GetThreadList() to report basic compaction
    operation properties.  Basic compaction properties include:
        1. job id
        2. compaction input / output level
        3. compaction property flags (is_manual, is_deletion, .. etc)
        4. total input bytes
        5. the number of bytes has been read currently.
        6. the number of bytes has been written currently.
    
    Flush operation properties will be done in a seperate diff.
    
    Test Plan:
    /db_bench --threads=30 --num=1000000 --benchmarks=fillrandom --thread_status_per_interval=1
    
    Sample output of tracking same job:
    
              ThreadID ThreadType       cfName            Operation   ElapsedTime                                         Stage        State OperationProperties
       140664171987072    Low Pri      default           Compaction     31.357 ms     CompactionJob::FinishCompactionOutputFile              BaseInputLevel 1 | BytesRead 2264663 | BytesWritten 1934241 | IsDeletion 0 | IsManual 0 | IsTrivialMove 0 | JobID 277 | OutputLevel 2 | TotalInputBytes 3964158 |
    
              ThreadID ThreadType       cfName            Operation   ElapsedTime                                         Stage        State OperationProperties
       140664171987072    Low Pri      default           Compaction     59.440 ms     CompactionJob::FinishCompactionOutputFile              BaseInputLevel 1 | BytesRead 2264663 | BytesWritten 1934241 | IsDeletion 0 | IsManual 0 | IsTrivialMove 0 | JobID 277 | OutputLevel 2 | TotalInputBytes 3964158 |
    
              ThreadID ThreadType       cfName            Operation   ElapsedTime                                         Stage        State OperationProperties
       140664171987072    Low Pri      default           Compaction    226.375 ms                        CompactionJob::Install              BaseInputLevel 1 | BytesRead 3958013 | BytesWritten 3621940 | IsDeletion 0 | IsManual 0 | IsTrivialMove 0 | JobID 277 | OutputLevel 2 | TotalInputBytes 3964158 |
    
    Reviewers: sdong, rven, igor
    
    Reviewed By: igor
    
    Subscribers: dhruba, leveldb
    
    Differential Revision: https://reviews.facebook.net/D37653
    77a5a543
db_test.cc 413.8 KB