17 #ifndef _GAZEBO_UTIL_DIAGNOSTICMANAGER_HH_    18 #define _GAZEBO_UTIL_DIAGNOSTICMANAGER_HH_    21 #include <boost/filesystem.hpp>    23 #include "gazebo/gazebo_config.h"    40     class DiagnosticManagerPrivate;
    43     class DiagnosticTimerPrivate;
    50 #ifdef ENABLE_DIAGNOSTICS    51     #define DIAG_TIMER_START(_name) \    55     gazebo::util::DiagnosticManager::Instance()->StartTimer(_name);    62     #define DIAG_TIMER_LAP(_name, _prefix) \    63     gazebo::util::DiagnosticManager::Instance()->Lap(_name, _prefix);    67     #define DIAG_TIMER_STOP(_name) \    68     gazebo::util::DiagnosticManager::Instance()->StopTimer(_name);    70     #define DIAG_TIMER_START(_name) ((void) 0)    71     #define DIAG_TIMER_LAP(_name, _prefix) ((void)0)    72     #define DIAG_TIMER_STOP(_name) ((void) 0)    88       public: 
void Init(
const std::string &_worldName);
    97       public: 
void StartTimer(
const std::string &_name);
   101       public: 
void StopTimer(
const std::string &_name);
   108       public: 
void Lap(
const std::string &_name, 
const std::string &_prefix);
   112       public: 
int TimerCount() 
const;
   122       public: 
common::Time Time(
const std::string &_label) 
const;
   127       public: std::string Label(
const int _index) 
const;
   131       public: boost::filesystem::path LogPath() 
const;
   142       private: 
void AddTime(
const std::string &_name,
   154       private: std::unique_ptr<DiagnosticManagerPrivate> dataPtr;
   170       public: 
void Lap(
const std::string &_prefix);
   173       public: 
virtual void Start();
   176       public: 
virtual void Stop();
   180       public: 
const std::string Name() 
const;
   183       public: 
void InsertData(
const std::string &_name,
   188       private: std::unique_ptr<DiagnosticTimerPrivate> dataPtr;
 
util
Definition: Diagnostics.hh:33
 
Forward declarations for the common classes. 
Definition: Animation.hh:26
 
Singleton template class. 
Definition: SingletonT.hh:33
 
A diagnostic manager class. 
Definition: Diagnostics.hh:77
 
Information for use in an update event. 
Definition: UpdateInfo.hh:30
 
A timer class, used to time things in real world walltime. 
Definition: Timer.hh:38
 
A timer designed for diagnostics. 
Definition: Diagnostics.hh:159
 
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message. 
 
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT. 
Definition: SingletonT.hh:61
 
A Time class, can be used to hold wall- or sim-time. 
Definition: Time.hh:47