rocksdb/utilities/trace
Peter Dillinger bda8d93ba9 Fix and detect headers with missing dependencies (#8893)
Summary:
It's always annoying to find a header does not include its own
dependencies and only works when included after other includes. This
change adds `make check-headers` which validates that each header can
be included at the top of a file. Some headers are excluded e.g. because
of platform or external dependencies.

rocksdb_namespace.h had to be re-worked slightly to enable checking for
failure to include it. (ROCKSDB_NAMESPACE is a valid namespace name.)

Fixes mostly involve adding and cleaning up #includes, but for
FileTraceWriter, a constructor was out-of-lined to make a forward
declaration sufficient.

This check is not currently run with `make check` but is added to
CircleCI build-linux-unity since that one is already relatively fast.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8893

Test Plan: existing tests and resolving issues detected by new check

Reviewed By: mrambacher

Differential Revision: D30823300

Pulled By: pdillinger

fbshipit-source-id: 9fff223944994c83c105e2e6496d24845dc8e572
2021-09-10 10:00:26 -07:00
..
file_trace_reader_writer.cc Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00
file_trace_reader_writer.h Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00
replayer_impl.cc Update comments, fix typos. (#8721) 2021-08-27 13:16:32 -07:00
replayer_impl.h Update comments, fix typos. (#8721) 2021-08-27 13:16:32 -07:00