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