sapling/eden/fs/store
Matt Glazar 761d5d2c8e Separate FUSE and Hg counter structs
Summary:
Some threads update FUSE counters, some threads update HgBackingStore counters, and some threads update HgImporter counters. No thread updates all of FUSE counters, HgBackingStore counters, and HgImporter counters. FUSE threads and HgImporter threads allocate the full set of counters (EdenThreadStats), even though many of the allocated counters can never be used during the thread's lifetime.

Reduce redundant allocation (and overhead during counter aggregation): split EdenThreadStats into three classes (FuseThreadStats, HgBackingStoreThreadStats, and HgImporterThreadStats) so different threads can allocate different sets of counters.

This diff should not change observable behavior.

Reviewed By: simpkins

Differential Revision: D14822273

fbshipit-source-id: cfd238187d20a0b8d3959673401ecad894e2095b
2019-05-29 18:11:56 -07:00
..
git
hg
mononoke
test
BackingStore.h
BlobAccess.cpp
BlobAccess.h
BlobCache.cpp
BlobCache.h
BlobMetadata.h
CMakeLists.txt
Diff.cpp
Diff.h
eden_store_util.cpp
EmptyBackingStore.cpp
EmptyBackingStore.h
IObjectStore.h
KeySpaces.h
LocalStore.cpp
LocalStore.h
MemoryLocalStore.cpp
MemoryLocalStore.h
ObjectStore.cpp
ObjectStore.h
RocksDbLocalStore.cpp
RocksDbLocalStore.h
SerializedBlobMetadata.cpp
SerializedBlobMetadata.h
SqliteLocalStore.cpp
SqliteLocalStore.h
StoreResult.cpp
StoreResult.h