sapling/eden/fs
Katie Mancini 37c264f457 make FUSE metrics more efficient
Summary:
Tl;DR Reduces costs of fuse request mertics by reducing lock contention.

D20922194 adds tracking for FUSE request metrics, this makes tracking those
metrics more efficient.  Since every user request goes through the FUSE channel,
we want to reduce the cost of these metrics as much  as possible (originally
mentioned in a comment D20922194).

The synchronization used to track the metrics is costly especially
when the lock is contended.

To reduce the cost, each FuseChannel will have a thread local copy of metrics.
Each will still be synchronized to allow for reading the metrics and for
Requests moved to other threads that will need to access the metrics. However,
the lock should be contended less often since only requests from a single fuse
channel thread will access it.

Reviewed By: chadaustin

Differential Revision: D21043792

fbshipit-source-id: ce58a0cbce334095976233bfac7578d39c81bb55
2020-04-23 10:46:16 -07:00
..
benchharness Tidy up license headers 2019-10-11 05:28:23 -07:00
cli add a new EdenTestCaseBase class 2020-04-22 15:02:41 -07:00
config remove all CLI code dealing with the old legacy bind-mounts config 2020-04-09 17:31:03 -07:00
fuse make FUSE metrics more efficient 2020-04-23 10:46:16 -07:00
inodes make deleted default constructors explicit 2020-04-14 12:47:03 -07:00
journal rename tracing to telemetry 2019-10-15 13:39:41 -07:00
model Include treeEntryTypeFromMode in Windows build 2020-03-31 08:08:36 -07:00
monitor Migrate from TAsyncSocket 2020-03-31 13:20:02 -07:00
notifications eden: show desktop notification for blob/tree fetch errors 2020-02-10 08:28:49 -08:00
py update build configuration information for Python and C++ 2020-04-22 12:48:47 -07:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service make FUSE metrics more efficient 2020-04-23 10:46:16 -07:00
sqlite fix a missing dependency in a CMakeLists.txt file 2019-11-21 21:43:54 -08:00
store expose live FUSE requests 2020-04-22 12:33:34 -07:00
takeover add EdenServer recovery step and recover after failed takeover data send handshake 2020-04-07 09:52:21 -07:00
telemetry make FUSE metrics more efficient 2020-04-23 10:46:16 -07:00
testharness eden: fix multiply defined symbols issue with ImportPriority 2020-03-20 10:56:08 -07:00
utils update build configuration information for Python and C++ 2020-04-22 12:48:47 -07:00
win StatusTest: pass listIgnored properly 2020-04-21 11:50:56 -07:00
CMakeLists.txt update build configuration information for Python and C++ 2020-04-22 12:48:47 -07:00