OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
logger::DurationTree Class Reference

Public Member Functions

 depth_ (start_depth)
 
 start_ (Clock::now())
 
 thread_id_ (thread_id)
 
void pushDurationTree (DurationTree &duration_tree)
 
const DurationrootDuration () const
 
int currentDepth () const
 
void decrementDepth ()
 
DurationTreeNodes const & durations () const
 
DurationnewDuration (DebugTimerParams const debug_timer_params)
 

Public Attributes

int const depth_
 
Clock::time_point const start_
 
ThreadId const thread_id_
 
 __pad0__: current_depth_(start_depth + bool(start_depth))
 

Private Attributes

DurationTreeNodes durations_
 
int current_depth_
 

Detailed Description

Definition at line 595 of file Logger.cpp.

Member Function Documentation

int logger::DurationTree::currentDepth ( ) const
inline

Definition at line 616 of file Logger.cpp.

References current_depth_.

616 { return current_depth_; }
void logger::DurationTree::decrementDepth ( )
inline

Definition at line 617 of file Logger.cpp.

References current_depth_.

Referenced by logger::Duration::stop().

617 { --current_depth_; }

+ Here is the caller graph for this function:

logger::DurationTree::depth_ ( start_depth  )
DurationTreeNodes const& logger::DurationTree::durations ( ) const
inline

Definition at line 618 of file Logger.cpp.

References durations_.

Referenced by logger::JsonEncoder::operator()(), logger::EraseDurationTrees::operator()(), and logger::operator<<().

618 { return durations_; }
DurationTreeNodes durations_
Definition: Logger.cpp:596

+ Here is the caller graph for this function:

Duration* logger::DurationTree::newDuration ( DebugTimerParams const  debug_timer_params)
inline

Definition at line 619 of file Logger.cpp.

References current_depth_, and durations_.

619  {
620  durations_.emplace_back(Duration(this, current_depth_++, debug_timer_params));
621  return boost::get<Duration>(&durations_.back());
622  }
DurationTreeNodes durations_
Definition: Logger.cpp:596
void logger::DurationTree::pushDurationTree ( DurationTree duration_tree)
inline

Definition at line 609 of file Logger.cpp.

References durations_.

609  {
610  durations_.emplace_back(duration_tree);
611  }
DurationTreeNodes durations_
Definition: Logger.cpp:596
const Duration& logger::DurationTree::rootDuration ( ) const
inline

Definition at line 612 of file Logger.cpp.

References CHECK, and durations_.

612  {
613  CHECK(!durations_.empty());
614  return boost::get<Duration>(durations_.front());
615  }
DurationTreeNodes durations_
Definition: Logger.cpp:596
#define CHECK(condition)
Definition: Logger.h:291
logger::DurationTree::start_ ( Clock::  now())
logger::DurationTree::thread_id_ ( thread_id  )
inline

Definition at line 608 of file Logger.cpp.

608 {}

Member Data Documentation

logger::DurationTree::__pad0__

Definition at line 606 of file Logger.cpp.

int logger::DurationTree::current_depth_
private

Definition at line 597 of file Logger.cpp.

Referenced by currentDepth(), decrementDepth(), and newDuration().

int const logger::DurationTree::depth_
DurationTreeNodes logger::DurationTree::durations_
private

Definition at line 596 of file Logger.cpp.

Referenced by durations(), newDuration(), pushDurationTree(), and rootDuration().

Clock::time_point const logger::DurationTree::start_

Definition at line 601 of file Logger.cpp.

Referenced by logger::Duration::relative_start_time().

ThreadId const logger::DurationTree::thread_id_

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