|
LLVM 24.0.0git
|
File system that tracks the number of calls to the underlying file system. More...
#include "llvm/Support/VirtualFileSystem.h"
Public Member Functions | |
| TracingFileSystemImpl (llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS) | |
| ErrorOr< Status > | status (const Twine &Path) override |
| ErrorOr< std::unique_ptr< File > > | openFileForRead (const Twine &Path) override |
| directory_iterator | dir_begin (const Twine &Dir, std::error_code &EC) override |
| std::error_code | getRealPath (const Twine &Path, SmallVectorImpl< char > &Output) override |
| bool | exists (const Twine &Path) override |
| std::error_code | isLocal (const Twine &Path, bool &Result) override |
| Public Member Functions inherited from llvm::RTTIExtends< TracingFileSystemImpl< CounterT >, ProxyFileSystem > | |
| const void * | dynamicClassID () const override |
| bool | isA () const |
| Check whether this instance is a subclass of QueryT. | |
Public Attributes | |
| CounterT | NumStatusCalls = 0 |
| CounterT | NumOpenFileForReadCalls = 0 |
| CounterT | NumDirBeginCalls = 0 |
| CounterT | NumGetRealPathCalls = 0 |
| CounterT | NumExistsCalls = 0 |
| CounterT | NumIsLocalCalls = 0 |
Static Public Attributes | |
| static const char | ID = 0 |
Protected Member Functions | |
| void | printImpl (raw_ostream &OS, FileSystem::PrintType Type, unsigned IndentLevel) const override |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::RTTIExtends< TracingFileSystemImpl< CounterT >, ProxyFileSystem > | |
| static const void * | classID () |
| static bool | classof (const T *R) |
File system that tracks the number of calls to the underlying file system.
This is particularly useful when wrapped around RealFileSystem to add lightweight tracking of expensive syscalls.
Templated on the counter type so callers can choose between non-atomic counters (suitable for single-threaded tracing) and atomic counters (suitable for tracing under concurrent access). Use the TracingFileSystem and AtomicTracingFileSystem aliases below.
Definition at line 1165 of file VirtualFileSystem.h.
|
inline |
Definition at line 1178 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1192 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1203 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1197 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1208 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1187 of file VirtualFileSystem.h.
|
inlineoverrideprotected |
Definition at line 1214 of file VirtualFileSystem.h.
|
inlineoverride |
Definition at line 1182 of file VirtualFileSystem.h.
|
inlinestatic |
Definition at line 1169 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumDirBeginCalls = 0 |
Definition at line 1173 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumExistsCalls = 0 |
Definition at line 1175 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumGetRealPathCalls = 0 |
Definition at line 1174 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumIsLocalCalls = 0 |
Definition at line 1176 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumOpenFileForReadCalls = 0 |
Definition at line 1172 of file VirtualFileSystem.h.
| CounterT llvm::vfs::TracingFileSystemImpl< CounterT >::NumStatusCalls = 0 |
Definition at line 1171 of file VirtualFileSystem.h.