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.

Inherited by Navigation::NavigationPageHandler.

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.

Reimplemented in Navigation::NavigationPageHandler.

◆ 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: