sapling/eden/fs/testharness
Zhengchao Liu bf292e9e5b create ActivityRecorder boilerplate and thread it to EdenMount
Summary:
We want to introduce two debug commands to record perf profiles such as files read. This can later be integrated to CI so that we can have this data for troubleshooting perf issues.
* `eden debug start_recording` starts recording perf metrics such as files read/written and fetch counts/latency for a given mount.
* `eden debug end_recording` stops recording and dumps the recorded profile to a local file.

This diff adds the boilerplate `ActivityRecorder` (borrowed heavily from `HiveLogger`'s implementation). The start command would create an instance of the recorder; the end command would destroy the recorder. The recording and dumping are handled by the implementing class.

Reviewed By: genevievehelsel

Differential Revision: D29506895

fbshipit-source-id: a927a363942a041d5ae54186a265576325dfeed5
2021-07-23 12:32:25 -07:00
..
test introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
CMakeLists.txt use the normal PrivHelper.h header file on Windows 2020-05-01 14:01:40 -07:00
FakeBackingStore.cpp introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
FakeBackingStore.h introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
FakeClock.h Tidy up license headers 2019-10-11 05:28:23 -07:00
FakeFuse.cpp utils: compile the tests with @mode/win 2020-10-22 12:52:13 -07:00
FakeFuse.h Tidy up license headers 2019-10-11 05:28:23 -07:00
FakeObjectStore.cpp introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
FakeObjectStore.h introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
FakePrivHelper.cpp nfs: allow mountd and nfsd sockets to be non-inet on macOS 2021-05-12 13:06:57 -07:00
FakePrivHelper.h Make eden doctor report when the PrivHelper is inaccessible 2021-07-12 13:16:21 -07:00
FakeTreeBuilder.cpp model: remove test-only constructor for TreeEntry 2021-01-05 14:08:14 -08:00
FakeTreeBuilder.h Tidy up license headers 2019-10-11 05:28:23 -07:00
HgBinary.cpp eden: set hgPath programmatically 2021-06-15 02:47:41 -07:00
HgBinary.h eden: set hgPath programmatically 2021-06-15 02:47:41 -07:00
HgRepo.cpp eden: set hgPath programmatically 2021-06-15 02:47:41 -07:00
HgRepo.h eden: set hgPath programmatically 2021-06-15 02:47:41 -07:00
InodeUnloader.h use portable version of gtest 2021-05-12 15:58:27 -07:00
LoggingFetchContext.h add cause info to objectFetchContext 2020-06-23 10:02:40 -07:00
StoredObject.h fix lock ordering issues in eden tests 2019-10-22 10:39:13 -07:00
TempFile.cpp enable the fs/utils tests in the Windows build 2020-04-29 11:04:21 -07:00
TempFile.h Tidy up license headers 2019-10-11 05:28:23 -07:00
TestChecks.h use portable version of gtest 2021-05-12 15:58:27 -07:00
TestDispatcher.cpp migrate from LockedPtr::getUniqueLock 2021-06-13 18:53:58 -07:00
TestDispatcher.h fuse: use ImmediateFuture in the Fuse dispatcher 2021-05-17 14:07:29 -07:00
TestMain.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
TestMount.cpp store weak_ptr of EdenMount in FileAccess event 2021-06-30 09:22:59 -07:00
TestMount.h introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
TestServer.cpp create ActivityRecorder boilerplate and thread it to EdenMount 2021-07-23 12:32:25 -07:00
TestServer.h Tidy up license headers 2019-10-11 05:28:23 -07:00
TestUtil.cpp Tidy up license headers 2019-10-11 05:28:23 -07:00
TestUtil.h Tidy up license headers 2019-10-11 05:28:23 -07:00