• S
    Trace and Replay for RocksDB (#3837) · 12b6cdee
    Sagar Vemuri 提交于
    Summary:
    A framework for tracing and replaying RocksDB operations.
    
    A binary trace file is created by capturing the DB operations, and it can be replayed back at the same rate using db_bench.
    
    - Column-families are supported
    - Multi-threaded tracing is supported.
    - TraceReader and TraceWriter are exposed to the user, so that tracing to various destinations can be enabled (say, to other messaging/logging services). By default, a FileTraceReader and FileTraceWriter are implemented to capture to a file and replay from it.
    - This is not yet ideal to be enabled in production due to large performance overhead, but it can be safely tried out in a shadow setup, say, for analyzing RocksDB operations.
    
    Currently supported DB operations:
    - Writes:
    -- Put
    -- Merge
    -- Delete
    -- SingleDelete
    -- DeleteRange
    -- Write
    - Reads:
    -- Get (point lookups)
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/3837
    
    Differential Revision: D7974837
    
    Pulled By: sagar0
    
    fbshipit-source-id: 8ec65aaf336504bc1f6ed0feae67f6ed5ef97a72
    12b6cdee
db_test2.cc 94.6 KB