Skyscraper 2.0
SBS::ProfileManager Class Reference

The Manager for the Profile system. More...

#include <profiler.h>

Collaboration diagram for SBS::ProfileManager:

Static Public Member Functions

static void Start_Profile (const char *name)
 
static void Stop_Profile (void)
 
static void CleanupMemory (void)
 
static void Reset (void)
 
static void Increment_Frame_Counter (void)
 
static int Get_Frame_Count_Since_Reset (void)
 
static float Get_Time_Since_Reset (void)
 
static ProfileIteratorGet_Iterator (void)
 
static void Release_Iterator (ProfileIterator *iterator)
 
static void dumpRecursive (std::string &output, ProfileIterator *profileIterator, int spacing)
 
static void dumpAll (std::string &output)
 

Static Private Attributes

static ProfileNode Root
 
static ProfileNodeCurrentNode = &ProfileManager::Root
 
static int FrameCounter = 0
 
static unsigned long int ResetTime = 0
 

Detailed Description

The Manager for the Profile system.

Definition at line 86 of file profiler.h.

Member Function Documentation

◆ CleanupMemory()

static void SBS::ProfileManager::CleanupMemory ( void )
inlinestatic

◆ dumpAll()

void SBS::ProfileManager::dumpAll ( std::string & output)
static

Definition at line 356 of file profiler.cpp.

References dumpRecursive(), Get_Iterator(), and Release_Iterator().

Referenced by Skyscraper::Profiler::Loop(), and Skyscraper::VMConsole::Process().

Here is the call graph for this function:

◆ dumpRecursive()

◆ Get_Frame_Count_Since_Reset()

static int SBS::ProfileManager::Get_Frame_Count_Since_Reset ( void )
inlinestatic

Definition at line 98 of file profiler.h.

Referenced by dumpRecursive().

◆ Get_Iterator()

static ProfileIterator * SBS::ProfileManager::Get_Iterator ( void )
inlinestatic

Definition at line 101 of file profiler.h.

Referenced by dumpAll().

◆ Get_Time_Since_Reset()

float SBS::ProfileManager::Get_Time_Since_Reset ( void )
static

Definition at line 291 of file profiler.cpp.

References SBS::Profile_Get_Tick_Rate(), SBS::Profile_Get_Ticks(), and ResetTime.

Referenced by dumpRecursive().

Here is the call graph for this function:

◆ Increment_Frame_Counter()

void SBS::ProfileManager::Increment_Frame_Counter ( void )
static

Definition at line 279 of file profiler.cpp.

References SBS::enable_profiling, and FrameCounter.

Referenced by Skyscraper::Skyscraper::Loop().

◆ Release_Iterator()

static void SBS::ProfileManager::Release_Iterator ( ProfileIterator * iterator)
inlinestatic

Definition at line 106 of file profiler.h.

Referenced by dumpAll().

◆ Reset()

void SBS::ProfileManager::Reset ( void )
static

Definition at line 263 of file profiler.cpp.

References SBS::ProfileNode::Call(), SBS::enable_profiling, FrameCounter, gProfileClock, SBS::Profile_Get_Ticks(), SBS::ProfileNode::Reset(), ResetTime, and Root.

Referenced by Skyscraper::Skyscraper::Loop().

Here is the call graph for this function:

◆ Start_Profile()

void SBS::ProfileManager::Start_Profile ( const char * name)
static

◆ Stop_Profile()

void SBS::ProfileManager::Stop_Profile ( void )
static

Definition at line 245 of file profiler.cpp.

References CurrentNode, SBS::enable_profiling, SBS::ProfileNode::Get_Parent(), and SBS::ProfileNode::Return().

Referenced by SBS::SBS::Loop(), SBS::SoundSystem::Loop(), and SBS::ProfileSample::~ProfileSample().

Here is the call graph for this function:

Member Data Documentation

◆ CurrentNode

ProfileNode * SBS::ProfileManager::CurrentNode = &ProfileManager::Root
staticprivate

Definition at line 114 of file profiler.h.

Referenced by Start_Profile(), and Stop_Profile().

◆ FrameCounter

int SBS::ProfileManager::FrameCounter = 0
staticprivate

Definition at line 115 of file profiler.h.

Referenced by Increment_Frame_Counter(), and Reset().

◆ ResetTime

unsigned long int SBS::ProfileManager::ResetTime = 0
staticprivate

Definition at line 116 of file profiler.h.

Referenced by Get_Time_Since_Reset(), and Reset().

◆ Root

ProfileNode SBS::ProfileManager::Root
staticprivate

Definition at line 113 of file profiler.h.

Referenced by Reset().


The documentation for this class was generated from the following files: