Go to the documentation of this file.
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;
Forward declarations for the common classes.
Definition: Animation.hh:26
A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec.
Definition: Time.hh:47
Singleton template class.
Definition: SingletonT.hh:33
util
Definition: Diagnostics.hh:33
gazebo
Definition: Diagnostics.hh:33
A timer class, used to time things in real world walltime.
Definition: Timer.hh:38
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
A timer designed for diagnostics.
Definition: Diagnostics.hh:159
A diagnostic manager class.
Definition: Diagnostics.hh:77
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition: SingletonT.hh:61
Information for use in an update event.
Definition: UpdateInfo.hh:30