Go to the documentation of this file.
20 #ifndef LLVM_DEBUGINFOD_DEBUGINFOD_H
21 #define LLVM_DEBUGINFOD_DEBUGINFOD_H
35 #include <condition_variable>
60 StringRef SourceFilePath);
79 StringRef UniqueKey, StringRef UrlPath, StringRef CacheDirectoryPath,
80 ArrayRef<StringRef> DebuginfodUrls, std::chrono::milliseconds Timeout);
91 std::mutex QueueMutex;
92 std::condition_variable QueueCondition;
93 std::queue<DebuginfodLogEntry> LogEntryQueue;
This is an optimization pass for GlobalISel generic memory operations.
DebuginfodLogEntry()=default
DebuginfodCollection(ArrayRef< StringRef > Paths, DebuginfodLog &Log, ThreadPool &Pool, double MinInterval)
ArrayRef< uint8_t > BuildIDRef
A reference to a BuildID in binary form.
A ThreadPool for asynchronous parallel execution on a defined number of threads.
Expected< std::string > getCachedOrDownloadExecutable(object::BuildIDRef ID)
Fetches an executable by searching the default local cache directory and server URLs.
bool canUseDebuginfod()
Returns false if a debuginfod lookup can be determined to have no chance of succeeding.
This class is used to track the amount of time spent between invocations of its startTimer()/stopTime...
Tagged union holding either a T or a Error.
std::chrono::milliseconds getDefaultDebuginfodTimeout()
Finds a default timeout for debuginfod HTTP requests.
Expected< std::string > findBinaryPath(object::BuildIDRef)
Expected< std::string > getCachedOrDownloadArtifact(StringRef UniqueKey, StringRef UrlPath)
Fetches any debuginfod artifact using the default local cache directory and server URLs.
SmallVector< StringRef > getDefaultDebuginfodUrls()
Finds default array of Debuginfod server URLs by checking DEBUGINFOD_URLS environment variable.
Interval Class - An Interval is a set of nodes defined such that every node in the interval has all o...
Expected< std::string > getDefaultDebuginfodCacheDirectory()
Finds a default local file caching directory for the debuginfod client, first checking DEBUGINFOD_CAC...
DebuginfodServer(DebuginfodLog &Log, DebuginfodCollection &Collection)
Expected< std::string > getCachedOrDownloadDebuginfo(object::BuildIDRef ID)
Fetches a debug binary by searching the default local cache directory and server URLs.
StringRef - Represent a constant reference to a string, i.e.
Error updateForever(std::chrono::milliseconds Interval)
void push(DebuginfodLogEntry Entry)
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Lightweight error class with error context and mandatory checking.
Tracks a collection of debuginfod artifacts on the local filesystem.
Expected< std::string > findDebugBinaryPath(object::BuildIDRef)
An HTTP server which can listen on a single TCP/IP port for HTTP requests and delgate them to the app...
Expected< std::string > getCachedOrDownloadSource(object::BuildIDRef ID, StringRef SourceFilePath)
Fetches a specified source file by searching the default local cache directory and server URLs.
DebuginfodCollection & Collection