VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
tracy::Profiler Class Reference

Classes

struct  FrameImageQueueItem

Public Member Functions

 Profiler ()
 ~Profiler ()
void SpawnWorkerThreads ()
tracy_force_inline uint32_t GetNextZoneId ()
void SendCallstack (int depth, const char *skipBefore)
tracy_force_inline bool IsConnected () const
void SetSystemTracePaused (bool value)
tracy_force_inline bool GetSystemTracePaused ()
void RequestShutdown ()
bool HasShutdownFinished () const
void SendString (uint64_t str, const char *ptr, QueueType type)
void SendString (uint64_t str, const char *ptr, size_t len, QueueType type)
void SendSingleString (const char *ptr)
void SendSingleString (const char *ptr, size_t len)
void SendSecondString (const char *ptr)
void SendSecondString (const char *ptr, size_t len)

Static Public Member Functions

static tracy_force_inline int64_t GetTime ()
static tracy_force_inline
QueueItem
QueueSerial ()
static tracy_force_inline
QueueItem
QueueSerialCallstack (void *ptr)
static tracy_force_inline void QueueSerialFinish ()
static tracy_force_inline void SendFrameMark (const char *name)
static tracy_force_inline void SendFrameMark (const char *name, QueueType type)
static tracy_force_inline void SendFrameImage (const void *image, uint16_t w, uint16_t h, uint8_t offset, bool flip)
static tracy_force_inline void PlotData (const char *name, int64_t val)
static tracy_force_inline void PlotData (const char *name, float val)
static tracy_force_inline void PlotData (const char *name, double val)
static tracy_force_inline void ConfigurePlot (const char *name, PlotFormatType type)
static tracy_force_inline void Message (const char *txt, size_t size, int callstack)
static tracy_force_inline void Message (const char *txt, int callstack)
static tracy_force_inline void MessageColor (const char *txt, size_t size, uint32_t color, int callstack)
static tracy_force_inline void MessageColor (const char *txt, uint32_t color, int callstack)
static tracy_force_inline void MessageAppInfo (const char *txt, size_t size)
static tracy_force_inline void MemAlloc (const void *ptr, size_t size, bool secure)
static tracy_force_inline void MemFree (const void *ptr, bool secure)
static tracy_force_inline void MemAllocCallstack (const void *ptr, size_t size, int depth, bool secure)
static tracy_force_inline void MemFreeCallstack (const void *ptr, int depth, bool secure)
static tracy_force_inline void MemAllocNamed (const void *ptr, size_t size, bool secure, const char *name)
static tracy_force_inline void MemFreeNamed (const void *ptr, bool secure, const char *name)
static tracy_force_inline void MemAllocCallstackNamed (const void *ptr, size_t size, int depth, bool secure, const char *name)
static tracy_force_inline void MemFreeCallstackNamed (const void *ptr, int depth, bool secure, const char *name)
static tracy_force_inline void SendCallstack (int depth)
static tracy_force_inline void ParameterRegister (ParameterCallback cb)
static tracy_force_inline void ParameterSetup (uint32_t idx, const char *name, bool isBool, int32_t val)
static void CutCallstack (void *callstack, const char *skipBefore)
static bool ShouldExit ()
static tracy_force_inline uint64_t AllocSourceLocation (uint32_t line, const char *source, const char *function)
static tracy_force_inline uint64_t AllocSourceLocation (uint32_t line, const char *source, const char *function, const char *name, size_t nameSz)
static tracy_force_inline uint64_t AllocSourceLocation (uint32_t line, const char *source, size_t sourceSz, const char *function, size_t functionSz)
static tracy_force_inline uint64_t AllocSourceLocation (uint32_t line, const char *source, size_t sourceSz, const char *function, size_t functionSz, const char *name, size_t nameSz)

Private Types

enum  DequeueStatus

Private Member Functions

void Worker ()
void CompressWorker ()
void ClearQueues (tracy::moodycamel::ConsumerToken &token)
void ClearSerial ()
DequeueStatus Dequeue (tracy::moodycamel::ConsumerToken &token)
DequeueStatus DequeueContextSwitches (tracy::moodycamel::ConsumerToken &token, int64_t &timeStop)
DequeueStatus DequeueSerial ()
bool CommitData ()
tracy_force_inline bool AppendData (const void *data, size_t len)
tracy_force_inline bool NeedDataSize (size_t len)
tracy_force_inline void AppendDataUnsafe (const void *data, size_t len)
bool SendData (const char *data, size_t len)
void SendLongString (uint64_t ptr, const char *str, size_t len, QueueType type)
void SendSourceLocation (uint64_t ptr)
void SendSourceLocationPayload (uint64_t ptr)
void SendCallstackPayload (uint64_t ptr)
void SendCallstackPayload64 (uint64_t ptr)
void SendCallstackAlloc (uint64_t ptr)
void SendCallstackFrame (uint64_t ptr)
void SendCodeLocation (uint64_t ptr)
bool HandleServerQuery ()
void HandleDisconnect ()
void HandleParameter (uint64_t payload)
void HandleSymbolQuery (uint64_t symbol)
void HandleSymbolCodeQuery (uint64_t symbol, uint32_t size)
void HandleSourceCodeQuery ()
void AckServerQuery ()
void AckSourceCodeNotAvailable ()
void CalibrateTimer ()
void CalibrateDelay ()
void ReportTopology ()
void ProcessSysTime ()

Static Private Member Functions

static void LaunchWorker (void *ptr)
static void LaunchCompressWorker (void *ptr)
static tracy_force_inline void SendCallstackSerial (void *ptr)
static tracy_force_inline void SendMemAlloc (QueueType type, const uint64_t thread, const void *ptr, size_t size)
static tracy_force_inline void SendMemFree (QueueType type, const uint64_t thread, const void *ptr)
static tracy_force_inline void SendMemName (const char *name)

Private Attributes

double m_timerMul
uint64_t m_resolution
uint64_t m_delay
std::atomic< int64_tm_timeBegin
uint64_t m_mainThread
uint64_t m_epoch
uint64_t m_exectime
std::atomic< boolm_shutdown
std::atomic< boolm_shutdownManual
std::atomic< boolm_shutdownFinished
Socketm_sock
UdpBroadcastm_broadcast
bool m_noExit
uint32_t m_userPort
std::atomic< uint32_tm_zoneId
int64_t m_samplingPeriod
uint64_t m_threadCtx
int64_t m_refTimeThread
int64_t m_refTimeSerial
int64_t m_refTimeCtx
int64_t m_refTimeGpu
voidm_stream
char * m_buffer
int m_bufferOffset
int m_bufferStart
char * m_lz4Buf
FastVector< QueueItemm_serialQueue
FastVector< QueueItemm_serialDequeue
TracyMutex m_serialLock
FastVector< FrameImageQueueItemm_fiQueue
FastVector< FrameImageQueueItemm_fiDequeue
TracyMutex m_fiLock
std::atomic< uint64_tm_frameCount
std::atomic< boolm_isConnected
std::atomic< boolm_isSystemTracePaused
ParameterCallback m_paramCallback
char * m_queryData
char * m_queryDataPtr

Member Enumeration Documentation

Constructor & Destructor Documentation

tracy::Profiler::Profiler ( )
tracy::Profiler::~Profiler ( )

Member Function Documentation

void tracy::Profiler::SpawnWorkerThreads ( )
static tracy_force_inline int64_t tracy::Profiler::GetTime ( )
inlinestatic
tracy_force_inline uint32_t tracy::Profiler::GetNextZoneId ( )
inline

References m_zoneId.

static tracy_force_inline QueueItem* tracy::Profiler::QueueSerial ( )
inlinestatic
static tracy_force_inline QueueItem* tracy::Profiler::QueueSerialCallstack ( void ptr)
inlinestatic

References tracy::GetProfiler().

static tracy_force_inline void tracy::Profiler::QueueSerialFinish ( )
inlinestatic
static tracy_force_inline void tracy::Profiler::SendFrameMark ( const char *  name)
inlinestatic
static tracy_force_inline void tracy::Profiler::SendFrameMark ( const char *  name,
QueueType  type 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::SendFrameImage ( const void image,
uint16_t  w,
uint16_t  h,
uint8_t  offset,
bool  flip 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::PlotData ( const char *  name,
int64_t  val 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::PlotData ( const char *  name,
float  val 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::PlotData ( const char *  name,
double  val 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::ConfigurePlot ( const char *  name,
PlotFormatType  type 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::Message ( const char *  txt,
size_t  size,
int  callstack 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::Message ( const char *  txt,
int  callstack 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MessageColor ( const char *  txt,
size_t  size,
uint32_t  color,
int  callstack 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MessageColor ( const char *  txt,
uint32_t  color,
int  callstack 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MessageAppInfo ( const char *  txt,
size_t  size 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemAlloc ( const void ptr,
size_t  size,
bool  secure 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemFree ( const void ptr,
bool  secure 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemAllocCallstack ( const void ptr,
size_t  size,
int  depth,
bool  secure 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemFreeCallstack ( const void ptr,
int  depth,
bool  secure 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemAllocNamed ( const void ptr,
size_t  size,
bool  secure,
const char *  name 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemFreeNamed ( const void ptr,
bool  secure,
const char *  name 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemAllocCallstackNamed ( const void ptr,
size_t  size,
int  depth,
bool  secure,
const char *  name 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::MemFreeCallstackNamed ( const void ptr,
int  depth,
bool  secure,
const char *  name 
)
inlinestatic
static tracy_force_inline void tracy::Profiler::SendCallstack ( int  depth)
inlinestatic
static tracy_force_inline void tracy::Profiler::ParameterRegister ( ParameterCallback  cb)
inlinestatic
static tracy_force_inline void tracy::Profiler::ParameterSetup ( uint32_t  idx,
const char *  name,
bool  isBool,
int32_t  val 
)
inlinestatic
void tracy::Profiler::SendCallstack ( int  depth,
const char *  skipBefore 
)
static void tracy::Profiler::CutCallstack ( void callstack,
const char *  skipBefore 
)
static
static bool tracy::Profiler::ShouldExit ( )
static
tracy_force_inline bool tracy::Profiler::IsConnected ( ) const
inline
void tracy::Profiler::SetSystemTracePaused ( bool  value)
inline

References m_isSystemTracePaused.

tracy_force_inline bool tracy::Profiler::GetSystemTracePaused ( )
inline

References m_isSystemTracePaused.

void tracy::Profiler::RequestShutdown ( )
inline

References m_shutdown, and m_shutdownManual.

bool tracy::Profiler::HasShutdownFinished ( ) const
inline

References m_shutdownFinished.

void tracy::Profiler::SendString ( uint64_t  str,
const char *  ptr,
QueueType  type 
)
inline

References SendString().

Referenced by SendString().

void tracy::Profiler::SendString ( uint64_t  str,
const char *  ptr,
size_t  len,
QueueType  type 
)
void tracy::Profiler::SendSingleString ( const char *  ptr)
inline

References SendSingleString().

Referenced by SendSingleString().

void tracy::Profiler::SendSingleString ( const char *  ptr,
size_t  len 
)
void tracy::Profiler::SendSecondString ( const char *  ptr)
inline

References SendSecondString().

Referenced by SendSecondString().

void tracy::Profiler::SendSecondString ( const char *  ptr,
size_t  len 
)
static tracy_force_inline uint64_t tracy::Profiler::AllocSourceLocation ( uint32_t  line,
const char *  source,
const char *  function 
)
inlinestatic
static tracy_force_inline uint64_t tracy::Profiler::AllocSourceLocation ( uint32_t  line,
const char *  source,
const char *  function,
const char *  name,
size_t  nameSz 
)
inlinestatic

References AllocSourceLocation().

static tracy_force_inline uint64_t tracy::Profiler::AllocSourceLocation ( uint32_t  line,
const char *  source,
size_t  sourceSz,
const char *  function,
size_t  functionSz 
)
inlinestatic

References AllocSourceLocation().

static tracy_force_inline uint64_t tracy::Profiler::AllocSourceLocation ( uint32_t  line,
const char *  source,
size_t  sourceSz,
const char *  function,
size_t  functionSz,
const char *  name,
size_t  nameSz 
)
inlinestatic
static void tracy::Profiler::LaunchWorker ( void ptr)
inlinestaticprivate
void tracy::Profiler::Worker ( )
private
static void tracy::Profiler::LaunchCompressWorker ( void ptr)
inlinestaticprivate
void tracy::Profiler::CompressWorker ( )
private
void tracy::Profiler::ClearQueues ( tracy::moodycamel::ConsumerToken token)
private
void tracy::Profiler::ClearSerial ( )
private
DequeueStatus tracy::Profiler::Dequeue ( tracy::moodycamel::ConsumerToken token)
private
DequeueStatus tracy::Profiler::DequeueContextSwitches ( tracy::moodycamel::ConsumerToken token,
int64_t timeStop 
)
private
DequeueStatus tracy::Profiler::DequeueSerial ( )
private
bool tracy::Profiler::CommitData ( )
private

Referenced by NeedDataSize().

tracy_force_inline bool tracy::Profiler::AppendData ( const void data,
size_t  len 
)
inlineprivate
tracy_force_inline bool tracy::Profiler::NeedDataSize ( size_t  len)
inlineprivate
tracy_force_inline void tracy::Profiler::AppendDataUnsafe ( const void data,
size_t  len 
)
inlineprivate

References int(), m_buffer, and m_bufferOffset.

Referenced by AppendData().

bool tracy::Profiler::SendData ( const char *  data,
size_t  len 
)
private
void tracy::Profiler::SendLongString ( uint64_t  ptr,
const char *  str,
size_t  len,
QueueType  type 
)
private
void tracy::Profiler::SendSourceLocation ( uint64_t  ptr)
private
void tracy::Profiler::SendSourceLocationPayload ( uint64_t  ptr)
private
void tracy::Profiler::SendCallstackPayload ( uint64_t  ptr)
private
void tracy::Profiler::SendCallstackPayload64 ( uint64_t  ptr)
private
void tracy::Profiler::SendCallstackAlloc ( uint64_t  ptr)
private
void tracy::Profiler::SendCallstackFrame ( uint64_t  ptr)
private
void tracy::Profiler::SendCodeLocation ( uint64_t  ptr)
private
bool tracy::Profiler::HandleServerQuery ( )
private
void tracy::Profiler::HandleDisconnect ( )
private
void tracy::Profiler::HandleParameter ( uint64_t  payload)
private
void tracy::Profiler::HandleSymbolQuery ( uint64_t  symbol)
private
void tracy::Profiler::HandleSymbolCodeQuery ( uint64_t  symbol,
uint32_t  size 
)
private
void tracy::Profiler::HandleSourceCodeQuery ( )
private
void tracy::Profiler::AckServerQuery ( )
private
void tracy::Profiler::AckSourceCodeNotAvailable ( )
private
void tracy::Profiler::CalibrateTimer ( )
private
void tracy::Profiler::CalibrateDelay ( )
private
void tracy::Profiler::ReportTopology ( )
private
static tracy_force_inline void tracy::Profiler::SendCallstackSerial ( void ptr)
inlinestaticprivate
static tracy_force_inline void tracy::Profiler::SendMemAlloc ( QueueType  type,
const uint64_t  thread,
const void ptr,
size_t  size 
)
inlinestaticprivate
static tracy_force_inline void tracy::Profiler::SendMemFree ( QueueType  type,
const uint64_t  thread,
const void ptr 
)
inlinestaticprivate
static tracy_force_inline void tracy::Profiler::SendMemName ( const char *  name)
inlinestaticprivate
void tracy::Profiler::ProcessSysTime ( )
inlineprivate

Member Data Documentation

double tracy::Profiler::m_timerMul
private
uint64_t tracy::Profiler::m_resolution
private
uint64_t tracy::Profiler::m_delay
private
std::atomic<int64_t> tracy::Profiler::m_timeBegin
private
uint64_t tracy::Profiler::m_mainThread
private
uint64_t tracy::Profiler::m_epoch
private
uint64_t tracy::Profiler::m_exectime
private
std::atomic<bool> tracy::Profiler::m_shutdown
private

Referenced by RequestShutdown().

std::atomic<bool> tracy::Profiler::m_shutdownManual
private

Referenced by RequestShutdown().

std::atomic<bool> tracy::Profiler::m_shutdownFinished
private

Referenced by HasShutdownFinished().

Socket* tracy::Profiler::m_sock
private
UdpBroadcast* tracy::Profiler::m_broadcast
private
bool tracy::Profiler::m_noExit
private
uint32_t tracy::Profiler::m_userPort
private
std::atomic<uint32_t> tracy::Profiler::m_zoneId
private

Referenced by GetNextZoneId().

int64_t tracy::Profiler::m_samplingPeriod
private
uint64_t tracy::Profiler::m_threadCtx
private
int64_t tracy::Profiler::m_refTimeThread
private
int64_t tracy::Profiler::m_refTimeSerial
private
int64_t tracy::Profiler::m_refTimeCtx
private
int64_t tracy::Profiler::m_refTimeGpu
private
void* tracy::Profiler::m_stream
private
char* tracy::Profiler::m_buffer
private

Referenced by AppendDataUnsafe().

int tracy::Profiler::m_bufferOffset
private

Referenced by AppendDataUnsafe(), and NeedDataSize().

int tracy::Profiler::m_bufferStart
private

Referenced by NeedDataSize().

char* tracy::Profiler::m_lz4Buf
private
FastVector<QueueItem> tracy::Profiler::m_serialQueue
private
FastVector<QueueItem> tracy::Profiler::m_serialDequeue
private
TracyMutex tracy::Profiler::m_serialLock
private
FastVector<FrameImageQueueItem> tracy::Profiler::m_fiQueue
private
FastVector<FrameImageQueueItem> tracy::Profiler::m_fiDequeue
private
TracyMutex tracy::Profiler::m_fiLock
private
std::atomic<uint64_t> tracy::Profiler::m_frameCount
private

Referenced by SendFrameMark().

std::atomic<bool> tracy::Profiler::m_isConnected
private

Referenced by IsConnected().

std::atomic<bool> tracy::Profiler::m_isSystemTracePaused
private
ParameterCallback tracy::Profiler::m_paramCallback
private

Referenced by ParameterRegister().

char* tracy::Profiler::m_queryData
private
char* tracy::Profiler::m_queryDataPtr
private

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


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)