From 7d1ac4d1f6b53fb5e99ba86dd654d27b27146898 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Wed, 21 Mar 2012 03:33:02 +0200 Subject: Profiler graph --- src/profiler.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/profiler.h') diff --git a/src/profiler.h b/src/profiler.h index 7bb3b3750..938742f22 100644 --- a/src/profiler.h +++ b/src/profiler.h @@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "utility.h" #include #include +#include /* Time profiler @@ -146,10 +147,30 @@ public: } } + typedef std::map GraphValues; + + void graphAdd(const std::string &id, float value) + { + JMutexAutoLock lock(m_mutex); + std::map::iterator i = + m_graphvalues.find(id); + if(i == m_graphvalues.end()) + m_graphvalues[id] = value; + else + i->second += value; + } + void graphGet(GraphValues &result) + { + JMutexAutoLock lock(m_mutex); + result = m_graphvalues; + m_graphvalues.clear(); + } + private: JMutex m_mutex; core::map m_data; core::map m_avgcounts; + std::map m_graphvalues; }; enum ScopeProfilerType{ -- cgit v1.2.3