Monero
Loading...
Searching...
No Matches
perf_timer.h File Reference
#include <cstdint>
#include <string>
#include <stdio.h>
#include <memory>
#include "misc_log_ex.h"
Include dependency graph for perf_timer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tools::PerformanceTimer
class  tools::LoggingPerformanceTimer

Namespaces

namespace  tools
 Various Tools.

Macros

#define PERF_TIMER_NAME(name)
#define PERF_TIMER_UNIT(name, unit)
#define PERF_TIMER_UNIT_L(name, unit, l)
#define PERF_TIMER(name)
#define PERF_TIMER_L(name, l)
#define PERF_TIMER_START_UNIT(name, unit)
#define PERF_TIMER_START(name)
#define PERF_TIMER_STOP(name)
#define PERF_TIMER_PAUSE(name)
#define PERF_TIMER_RESUME(name)

Functions

uint64_t tools::get_tick_count ()
uint64_t tools::get_ticks_per_ns ()
uint64_t tools::ticks_to_ns (uint64_t ticks)
void tools::set_performance_timer_log_level (el::Level level)

Macro Definition Documentation

◆ PERF_TIMER

#define PERF_TIMER ( name)
Value:
const char * name
Definition options.c:30
#define PERF_TIMER_UNIT(name, unit)
Definition perf_timer.h:81

◆ PERF_TIMER_L

#define PERF_TIMER_L ( name,
l )
Value:
PERF_TIMER_UNIT_L(name, 1000000, l)
#define PERF_TIMER_UNIT_L(name, unit, l)
Definition perf_timer.h:82

◆ PERF_TIMER_NAME

#define PERF_TIMER_NAME ( name)
Value:
pt_##name

◆ PERF_TIMER_PAUSE

#define PERF_TIMER_PAUSE ( name)
Value:
#define PERF_TIMER_NAME(name)
Definition perf_timer.h:80

◆ PERF_TIMER_RESUME

#define PERF_TIMER_RESUME ( name)
Value:

◆ PERF_TIMER_START

#define PERF_TIMER_START ( name)
Value:
#define PERF_TIMER_START_UNIT(name, unit)
Definition perf_timer.h:85

◆ PERF_TIMER_START_UNIT

#define PERF_TIMER_START_UNIT ( name,
unit )
Value:
std::unique_ptr<tools::LoggingPerformanceTimer> PERF_TIMER_NAME(name)(new tools::LoggingPerformanceTimer(#name, "perf." MONERO_DEFAULT_LOG_CATEGORY, unit, el::Level::Info))
Definition perf_timer.h:66
#define MONERO_DEFAULT_LOG_CATEGORY
Definition console_handler.h:49
@ Info
Mainly useful to represent current progress of application.
Definition easylogging++.h:607

◆ PERF_TIMER_STOP

#define PERF_TIMER_STOP ( name)
Value:
do { PERF_TIMER_NAME(name).reset(NULL); } while(0)

◆ PERF_TIMER_UNIT

#define PERF_TIMER_UNIT ( name,
unit )

◆ PERF_TIMER_UNIT_L

#define PERF_TIMER_UNIT_L ( name,
unit,
l )