• yiwu-arbug's avatar
    Add internal operation stats and dump to info log periodically (#62) · 468ddc97
    yiwu-arbug authored
    Summary:
    Add stats for read/write bytes and input/output file of internal operations and break down by operation type (being flush, compaction or GC). Later after we introduce vtable we can further breakdown compaction into top levels compaction, L_n-1 compaction and Ln compaction.
    
    Test Plan:
    Run db_bench and get sample output:
    ```
    2019/08/29-23:49:29.593805 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593742) Titan internal stats for column family [default]:
    2019/08/29-23:49:29.593813 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593753) OP          COUNT  READ(GB)  WRITE(GB) IO_READ(GB) IO_WRITE(GB)  FILE_IN FILE_OUT
    2019/08/29-23:49:29.593821 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593760) ---------------------------------------------------------------------------------
    2019/08/29-23:49:29.593830 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593768) Flush          3        0.0       34.7         0.0         18.0        0        3
    2019/08/29-23:49:29.593839 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593784) Compaction     1        0.0        0.0         0.0          0.0        0        0
    2019/08/29-23:49:29.593848 7f6fd97fa700 (Original Log Time 2019/08/29-23:49:29.593793) GC             1      360.9        1.3       354.3          2.8        8        0
    ```
    468ddc97
Name
Last commit
Last update
..
base_db_listener.cc Loading commit data...
base_db_listener.h Loading commit data...
blob_file_builder.cc Loading commit data...
blob_file_builder.h Loading commit data...
blob_file_cache.cc Loading commit data...
blob_file_cache.h Loading commit data...
blob_file_iterator.cc Loading commit data...
blob_file_iterator.h Loading commit data...
blob_file_iterator_test.cc Loading commit data...
blob_file_manager.h Loading commit data...
blob_file_reader.cc Loading commit data...
blob_file_reader.h Loading commit data...
blob_file_size_collector.cc Loading commit data...
blob_file_size_collector.h Loading commit data...
blob_file_size_collector_test.cc Loading commit data...
blob_file_test.cc Loading commit data...
blob_format.cc Loading commit data...
blob_format.h Loading commit data...
blob_format_test.cc Loading commit data...
blob_gc.cc Loading commit data...
blob_gc.h Loading commit data...
blob_gc_job.cc Loading commit data...
blob_gc_job.h Loading commit data...
blob_gc_job_test.cc Loading commit data...
blob_gc_picker.cc Loading commit data...
blob_gc_picker.h Loading commit data...
blob_gc_picker_test.cc Loading commit data...
blob_storage.cc Loading commit data...
blob_storage.h Loading commit data...
db.cc Loading commit data...
db_impl.cc Loading commit data...
db_impl.h Loading commit data...
db_impl_files.cc Loading commit data...
db_impl_gc.cc Loading commit data...
db_iter.h Loading commit data...
edit_collector.h Loading commit data...
options.cc Loading commit data...
table_builder.cc Loading commit data...
table_builder.h Loading commit data...
table_builder_test.cc Loading commit data...
table_factory.cc Loading commit data...
table_factory.h Loading commit data...
testutil.h Loading commit data...
thread_safety_test.cc Loading commit data...
titan_db_test.cc Loading commit data...
titan_fault_injection_test_env.h Loading commit data...
titan_options_test.cc Loading commit data...
titan_stats.cc Loading commit data...
titan_stats.h Loading commit data...
util.cc Loading commit data...
util.h Loading commit data...
util_test.cc Loading commit data...
version_edit.cc Loading commit data...
version_edit.h Loading commit data...
version_set.cc Loading commit data...
version_set.h Loading commit data...
version_test.cc Loading commit data...