Nebula
Loading...
Searching...
No Matches
Debug::DebugPageHandler Class Reference

#include <debugpagehandler.h>

Detailed Description

Http request handler for the Debug subsystem.

Renders profiling counters and timers.

Inherits Http::HttpRequestHandler.

Public Member Functions

 DebugPageHandler ()
 constructor
 
virtual void HandleRequest (const Ptr< Http::HttpRequest > &request)
 handle a http request
 
- Public Member Functions inherited from Http::HttpRequestHandler
 HttpRequestHandler ()
 constructor
 
virtual ~HttpRequestHandler ()
 destructor
 
const Util::StringGetName () const
 get a human readable name of the request handler
 
const Util::StringGetDesc () const
 get a human readable description of the request handler
 
const Util::StringGetRootLocation () const
 get a resource location path which is accepted by the handler (e.g. "/display")
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Protected Member Functions

void ComputeMinMaxAvgTimes (const Util::Array< Timing::Time > &times, Timing::Time &outMin, Timing::Time &outMax, Timing::Time &outAvg, Timing::Time &outCur) const
 compute the min, max and average time from an array of times
 
void ComputeMinMaxAvgCounts (const Util::Array< int > &counterValues, int &outMin, int &outMax, int &outAvg, int &outCur) const
 compute min, max and average values from an array of counter samples
 
- Protected Member Functions inherited from Http::HttpRequestHandler
void HandlePendingRequests ()
 handle all pending requests, called by local-thread's HttpServerProxy
 
void PutRequest (const Ptr< HttpRequest > &httpRequest)
 put a request to the pending queue, called by HttpServer thread
 
void SetName (const Util::String &n)
 set human readable name of the request handler
 
void SetDesc (const Util::String &d)
 set human readable description
 
void SetRootLocation (const Util::String &l)
 set the root location of the request handler
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Private Member Functions

 __DeclareClass (DebugPageHandler)
 
void HandleTimerRequest (const Util::String &timerName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request for a debug timer
 
void HandleCounterRequest (const Util::String &counterName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request for a debug counter
 
void HandleTimerChartRequest (const Util::String &timerName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request to render a timer chart
 
void HandleCounterChartRequest (const Util::String &counterName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request to render a counter char
 
void HandleTimerTableSortRequest (const Util::String &columnName, const Util::String &tableName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request to sort table
 
void HandleCounterTableSortRequest (const Util::String &columnName, const Util::String &tableName, const Ptr< Http::HttpRequest > &request)
 handle HTTP request to sort table
 

Private Attributes

Util::Dictionary< Util::String, Util::StringtimerSortColumns
 
Util::Dictionary< Util::String, Util::StringcounterSortColumns
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Attributes inherited from Http::HttpRequestHandler
Util::String name
 
Util::String desc
 
Util::String rootLocation
 
Threading::SafeQueue< Ptr< HttpRequest > > pendingRequests
 
Util::Array< Ptr< HttpRequest > > curWorkRequests
 

Constructor & Destructor Documentation

◆ DebugPageHandler()

Debug::DebugPageHandler::DebugPageHandler ( )

constructor

Member Function Documentation

◆ __DeclareClass()

Debug::DebugPageHandler::__DeclareClass ( DebugPageHandler )
private

◆ ComputeMinMaxAvgCounts()

void Debug::DebugPageHandler::ComputeMinMaxAvgCounts ( const Util::Array< int > & counterValues,
int & outMin,
int & outMax,
int & outAvg,
int & outCur ) const
protected

compute min, max and average values from an array of counter samples

Gets the min/max/avg counter values from an array of counter samples.

◆ ComputeMinMaxAvgTimes()

void Debug::DebugPageHandler::ComputeMinMaxAvgTimes ( const Util::Array< Timing::Time > & times,
Timing::Time & outMin,
Timing::Time & outMax,
Timing::Time & outAvg,
Timing::Time & outCur ) const
protected

compute the min, max and average time from an array of times

Gets the min/max/avg time from an array of Time samples.

◆ HandleCounterChartRequest()

void Debug::DebugPageHandler::HandleCounterChartRequest ( const Util::String & counterName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request to render a counter char

Writes an SVG chart for a debug counter.

◆ HandleCounterRequest()

void Debug::DebugPageHandler::HandleCounterRequest ( const Util::String & counterName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request for a debug counter

Handles a HTTP request for a specific debug counter.

◆ HandleCounterTableSortRequest()

void Debug::DebugPageHandler::HandleCounterTableSortRequest ( const Util::String & columnName,
const Util::String & tableName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request to sort table

◆ HandleRequest()

void Debug::DebugPageHandler::HandleRequest ( const Ptr< Http::HttpRequest > & request)
virtual

handle a http request

Reimplemented from Http::HttpRequestHandler.

◆ HandleTimerChartRequest()

void Debug::DebugPageHandler::HandleTimerChartRequest ( const Util::String & timerName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request to render a timer chart

Writes an SVG chart for a debug timer.

◆ HandleTimerRequest()

void Debug::DebugPageHandler::HandleTimerRequest ( const Util::String & timerName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request for a debug timer

Handles a HTTP request for a specific debug timer.

◆ HandleTimerTableSortRequest()

void Debug::DebugPageHandler::HandleTimerTableSortRequest ( const Util::String & columnName,
const Util::String & tableName,
const Ptr< Http::HttpRequest > & request )
private

handle HTTP request to sort table

Member Data Documentation

◆ counterSortColumns

Util::Dictionary<Util::String, Util::String> Debug::DebugPageHandler::counterSortColumns
private

◆ timerSortColumns

Util::Dictionary<Util::String, Util::String> Debug::DebugPageHandler::timerSortColumns
private

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