guanaqo main
Utilities for scientific software
Loading...
Searching...
No Matches
trace.hpp File Reference

Detailed Description

Tracing logger and macros (ITT, Perfetto, or fallback).

Definition in file trace.hpp.

#include <guanaqo/export.h>
#include <guanaqo/perfetto/trace.hpp>
#include <guanaqo/preprocessor.h>
#include <guanaqo/stringify.h>
#include <concepts>
#include <functional>
#include <memory>
#include <span>
#include <utility>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <iomanip>
#include <ostream>
Include dependency graph for trace.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  guanaqo::TraceLogger
 Class for recording trace logs, used when ITT or Perfetto tracing is not enabled. More...
struct  guanaqo::TraceLogger::Log
struct  guanaqo::TraceLogger::ScopedLog

Namespaces

namespace  guanaqo

Macros

#define GUANAQO_IF_ITT(...)

Functions

std::size_t guanaqo::get_thread_id ()
TraceLoggerguanaqo::get_trace_logger ()
 Get a reference to the global (but thread-local) trace logger instance.
size_t guanaqo::trace_logger_set_default_size (size_t size)
 Set the default capacity for trace loggers created by get_trace_logger().
void guanaqo::for_each_trace_logger (const std::function< void(TraceLogger &)> &callback)
 Call callback for each trace logger instance.
void guanaqo::drop_trace_loggers (const std::function< void(std::shared_ptr< TraceLogger >)> &callback=nullptr)
 Like for_each_trace_logger, but also forgets about all loggers.

Macro Definition Documentation

◆ GUANAQO_IF_ITT

#define GUANAQO_IF_ITT ( ...)

Definition at line 262 of file trace.hpp.