1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-15 18:57:08 +00:00

Profiler graph

This commit is contained in:
Perttu Ahola 2012-03-21 03:33:02 +02:00
parent 2f2ef80ec2
commit 7d1ac4d1f6
3 changed files with 214 additions and 40 deletions

View file

@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "utility.h"
#include <jmutex.h>
#include <jmutexautolock.h>
#include <map>
/*
Time profiler
@ -146,10 +147,30 @@ public:
}
}
typedef std::map<std::string, float> GraphValues;
void graphAdd(const std::string &id, float value)
{
JMutexAutoLock lock(m_mutex);
std::map<std::string, float>::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<std::string, float> m_data;
core::map<std::string, int> m_avgcounts;
std::map<std::string, float> m_graphvalues;
};
enum ScopeProfilerType{