Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
BCLog::Timer< TimeType > Class Template Reference

RAII-style object that outputs timing information to logs. More...

#include <timer.h>

Public Member Functions

 Timer (std::string prefix, std::string end_msg, BCLog::LogFlags log_category=BCLog::LogFlags::ALL, bool msg_on_completion=true)
 ~Timer ()
void Log (const std::string &msg)
std::string LogMsg (const std::string &msg)

Private Attributes

std::optional< std::chrono::steady_clock::time_point > m_start_t {}
const std::string m_prefix
 Log prefix; usually the name of the function this was created in.
const std::string m_title
 A descriptive message of what is being timed.
const BCLog::LogFlags m_log_category
const bool m_message_on_completion
 Whether to output the message again on completion.

Detailed Description

template<typename TimeType>
class BCLog::Timer< TimeType >

RAII-style object that outputs timing information to logs.

Definition at line 23 of file timer.h.

Constructor & Destructor Documentation

◆ Timer()

template<typename TimeType>
BCLog::Timer< TimeType >::Timer ( std::string prefix,
std::string end_msg,
BCLog::LogFlags log_category = BCLog::LogFlags::ALL,
bool msg_on_completion = true )
inline

If log_category is left as the default, end_msg will log unconditionally (instead of being filtered by category).

Definition at line 28 of file timer.h.

Here is the call graph for this function:

◆ ~Timer()

template<typename TimeType>
BCLog::Timer< TimeType >::~Timer ( )
inline

Definition at line 42 of file timer.h.

Here is the call graph for this function:

Member Function Documentation

◆ Log()

template<typename TimeType>
void BCLog::Timer< TimeType >::Log ( const std::string & msg)
inline

Definition at line 51 of file timer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LogMsg()

template<typename TimeType>
std::string BCLog::Timer< TimeType >::LogMsg ( const std::string & msg)
inline

Definition at line 62 of file timer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_log_category

template<typename TimeType>
const BCLog::LogFlags BCLog::Timer< TimeType >::m_log_category
private

Forwarded on to LogDebug if specified - has the effect of only outputting the timing log when a particular debug= category is specified.

Definition at line 92 of file timer.h.

◆ m_message_on_completion

template<typename TimeType>
const bool BCLog::Timer< TimeType >::m_message_on_completion
private

Whether to output the message again on completion.

Definition at line 95 of file timer.h.

◆ m_prefix

template<typename TimeType>
const std::string BCLog::Timer< TimeType >::m_prefix
private

Log prefix; usually the name of the function this was created in.

Definition at line 85 of file timer.h.

◆ m_start_t

template<typename TimeType>
std::optional<std::chrono::steady_clock::time_point> BCLog::Timer< TimeType >::m_start_t {}
private

Definition at line 82 of file timer.h.

◆ m_title

template<typename TimeType>
const std::string BCLog::Timer< TimeType >::m_title
private

A descriptive message of what is being timed.

Definition at line 88 of file timer.h.


The documentation for this class was generated from the following file: