clang-tools  11.0.0git
Classes | Namespaces | Macros | Functions
Trace.h File Reference
#include "support/Context.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/raw_ostream.h"
#include <chrono>
#include <string>
#include <vector>
Include dependency graph for Trace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  clang::clangd::trace::Metric
 Represents measurements of clangd events, e.g. More...
class  clang::clangd::trace::EventTracer
 A consumer of trace events and measurements. More...
class  clang::clangd::trace::Session
 Sets up a global EventTracer that consumes events produced by Span and trace::log. More...
class  clang::clangd::trace::Span
 Records an event whose duration is the lifetime of the Span object. More...


 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//


#define SPAN_ATTACH(S, Name, Expr)
 Attach a key-value pair to a Span event. More...


std::unique_ptr< EventTracer > clang::clangd::trace::createJSONTracer (llvm::raw_ostream &OS, bool Pretty=false)
 Create an instance of EventTracer that produces an output in the Trace Event format supported by Chrome's trace viewer (chrome://tracing). More...
std::unique_ptr< EventTracer > clang::clangd::trace::createCSVMetricTracer (llvm::raw_ostream &OS)
 Create an instance of EventTracer that outputs metric measurements as CSV. More...
void clang::clangd::trace::log (const llvm::Twine &Name)
 Records a single instant event, associated with the current thread. More...

Macro Definition Documentation


#define SPAN_ATTACH (   S,
do { \
if (auto *Args = (S).Args) \
(*Args)[Name] = Expr; \
} while (0)
static constexpr llvm::StringLiteral Name

Attach a key-value pair to a Span event.

This is not threadsafe when used with the same Span.

Definition at line 154 of file Trace.h.

Referenced by clang::clangd::BackgroundIndex::boostRelated(), clang::clangd::ParsedAST::build(), clang::clangd::buildRenameEdit(), clang::clangd::PreamblePatch::create(), clang::clangd::MergedIndex::fuzzyFind(), clang::clangd::config::Provider::getConfig(), clang::clangd::getMappedRanges(), clang::clangd::TUScheduler::runWithPreamble(), and clang::clangd::BackgroundIndex::~BackgroundIndex().