OmniSciDB  fe05a0c208
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 constdurations () const
template<typename... Ts>
DurationnewDuration (Ts &&...args)

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 469 of file Logger.cpp.

Member Function Documentation

int logger::DurationTree::currentDepth ( ) const

Definition at line 490 of file Logger.cpp.

References current_depth_.

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

Definition at line 491 of file Logger.cpp.

References current_depth_.

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

491 { --current_depth_; }

+ Here is the caller graph for this function:

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

Definition at line 492 of file Logger.cpp.

References durations_.

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

492 { return durations_; }
DurationTreeNodes durations_
Definition: Logger.cpp:470

+ Here is the caller graph for this function:

template<typename... Ts>
Duration* logger::DurationTree::newDuration ( Ts &&...  args)

Definition at line 494 of file Logger.cpp.

References run_benchmark_import::args, current_depth_, and durations_.

494  {
495  durations_.emplace_back(Duration(this, current_depth_++, std::forward<Ts>(args)...));
496  return boost::get<Duration>(&durations_.back());
497  }
DurationTreeNodes durations_
Definition: Logger.cpp:470
void logger::DurationTree::pushDurationTree ( DurationTree duration_tree)

Definition at line 483 of file Logger.cpp.

References durations_.

483  {
484  durations_.emplace_back(duration_tree);
485  }
DurationTreeNodes durations_
Definition: Logger.cpp:470
const Duration& logger::DurationTree::rootDuration ( ) const

Definition at line 486 of file Logger.cpp.

References CHECK, and durations_.

486  {
487  CHECK(!durations_.empty());
488  return boost::get<Duration>(durations_.front());
489  }
DurationTreeNodes durations_
Definition: Logger.cpp:470
#define CHECK(condition)
Definition: Logger.h:203
logger::DurationTree::start_ ( Clock::  now())
logger::DurationTree::thread_id_ ( thread_id  )

Definition at line 482 of file Logger.cpp.

482 {}

Member Data Documentation


Definition at line 480 of file Logger.cpp.

int logger::DurationTree::current_depth_

Definition at line 471 of file Logger.cpp.

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

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

Definition at line 470 of file Logger.cpp.

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

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

Definition at line 475 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: