sapling/eden/fs
Genevieve Helsel 58188931c3 file access logging in FileInode
Summary:
This is adds file access logging in the Inode layer of the code. We log the cause (channel, thrift, unknown) and the cause detail (which is the FUSE opcode for fuse, function name for thrift). We do the work on a worker thread since we need to traverse the inode map to translate an inode number to a file path. The workerthread in this code is largely based off of the one in the ProcessNameCache.

At this moment, I am not worrying about logging inode creation as a file access. The nice thing about putting this in FileInode is that it should be able to be used by NFS for free.

I've left a TODO in the code about not logging files that match gitignore patterns since its not a hard blocker for this to land.

Reviewed By: kmancini

Differential Revision: D29128258

fbshipit-source-id: 3e08a3567fed937a381b58847ea83569d70f0ea2
2021-06-29 09:45:47 -07:00
..
benchharness config: namespace facebook::eden 2021-06-08 19:29:37 -07:00
benchmarks Back out "pool eden thrift connections" 2021-06-21 20:52:57 -07:00
cli cli: do not block eden rm on aux process 2021-06-23 10:50:50 -07:00
cli_rs Resolve bare_trait_objects warnings in path components 2021-05-19 22:03:56 -07:00
config file access logging in FileInode 2021-06-29 09:45:47 -07:00
docs introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
fuse eden: allow configuring path to privhelper when not running setuid 2021-06-16 02:34:05 -07:00
inodes file access logging in FileInode 2021-06-29 09:45:47 -07:00
journal introduce a variable-width RootId type that identifies the root of an EdenFS checkout's contents 2021-06-07 17:25:31 -07:00
model model: namespace facebook::eden 2021-06-08 19:29:37 -07:00
monitor migrate from LockedPtr::getUniqueLock 2021-06-13 18:53:58 -07:00
nfs create util EdenTaskQueue from NfsTaskQueue 2021-06-29 09:45:46 -07:00
notifications notifications: support Windows 2020-11-11 09:37:56 -08:00
prjfs Fix unused parameters on PrjfsChannel.cpp 2021-05-25 19:45:22 -07:00
py Backout py3 only changes from windows_thrift 2021-04-22 10:29:49 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
scripts move eden/scripts/ into eden/fs/ 2020-11-04 18:29:49 -08:00
service store EdenServer* in HiveLogger 2021-06-29 09:45:46 -07:00
sqlite overlay: use PersistentSqliteStatement in TreeOverlayStore 2021-03-15 12:01:48 -07:00
store store: fix metadata importing 2021-06-28 13:43:54 -07:00
takeover use portable version of gtest 2021-05-12 15:58:27 -07:00
telemetry file access logging in FileInode 2021-06-29 09:45:47 -07:00
testharness store EdenServer* in HiveLogger 2021-06-29 09:45:46 -07:00
third-party fs: update fuse_kernel_linux.h 2021-03-17 20:55:43 -07:00
utils create util EdenTaskQueue from NfsTaskQueue 2021-06-29 09:45:46 -07:00
CMakeLists.txt nfs: make it compile with getdeps builds 2021-02-03 17:54:54 -08:00