VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 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 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 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 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 SendCallstackMemory (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)

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
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
ParameterCallback m_paramCallback

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 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::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::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::CalibrateTimer ( )
private
void tracy::Profiler::CalibrateDelay ( )
private
void tracy::Profiler::ReportTopology ( )
private
static tracy_force_inline void tracy::Profiler::SendCallstackMemory ( 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
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
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

Referenced by MemAlloc(), and MemFree().

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().

ParameterCallback tracy::Profiler::m_paramCallback
private

Referenced by ParameterRegister().


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


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