mirror of
https://github.com/wolfpld/tracy
synced 2025-04-28 20:23:51 +00:00
Add system tracing skeleton.
This commit is contained in:
parent
8aa0be39d5
commit
fe0f1aea07
@ -19,6 +19,7 @@
|
||||
#include "client/TracyProfiler.cpp"
|
||||
#include "client/TracyCallstack.cpp"
|
||||
#include "client/TracySysTime.cpp"
|
||||
#include "client/TracySysTrace.cpp"
|
||||
#include "common/TracySocket.cpp"
|
||||
#include "client/tracy_rpmalloc.cpp"
|
||||
#include "client/TracyDxt1.cpp"
|
||||
|
@ -931,6 +931,10 @@ static Profiler* s_instance;
|
||||
static Thread* s_thread;
|
||||
static Thread* s_compressThread;
|
||||
|
||||
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||
static Thread* s_sysTraceThread = nullptr;
|
||||
#endif
|
||||
|
||||
#ifdef TRACY_DELAYED_INIT
|
||||
struct ThreadNameData;
|
||||
TRACY_API moodycamel::ConcurrentQueue<QueueItem>& GetQueue();
|
||||
@ -1138,6 +1142,15 @@ Profiler::Profiler()
|
||||
new(s_compressThread) Thread( LaunchCompressWorker, this );
|
||||
SetThreadName( s_compressThread->Handle(), "Tracy Profiler DXT1" );
|
||||
|
||||
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||
if( SysTraceStart() )
|
||||
{
|
||||
s_sysTraceThread = (Thread*)tracy_malloc( sizeof( Thread ) );
|
||||
new(s_sysTraceThread) Thread( SysTraceWorker, nullptr );
|
||||
SetThreadName( s_sysTraceThread->Handle(), "Tracy Profiler system trace" );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined PTW32_VERSION
|
||||
s_profilerThreadId = pthread_getw32threadid_np( s_thread->Handle() );
|
||||
#elif defined __WINPTHREADS_VERSION
|
||||
@ -1174,6 +1187,16 @@ Profiler::Profiler()
|
||||
Profiler::~Profiler()
|
||||
{
|
||||
m_shutdown.store( true, std::memory_order_relaxed );
|
||||
|
||||
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||
if( s_sysTraceThread )
|
||||
{
|
||||
SysTraceStop();
|
||||
s_sysTraceThread->~Thread();
|
||||
tracy_free( s_sysTraceThread );
|
||||
}
|
||||
#endif
|
||||
|
||||
s_compressThread->~Thread();
|
||||
tracy_free( s_compressThread );
|
||||
s_thread->~Thread();
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "tracy_concurrentqueue.h"
|
||||
#include "TracyCallstack.hpp"
|
||||
#include "TracySysTime.hpp"
|
||||
#include "TracySysTrace.hpp"
|
||||
#include "TracyFastVector.hpp"
|
||||
#include "../common/TracyQueue.hpp"
|
||||
#include "../common/TracyAlign.hpp"
|
||||
|
23
client/TracySysTrace.cpp
Normal file
23
client/TracySysTrace.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
#include "TracySysTrace.hpp"
|
||||
|
||||
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||
|
||||
namespace tracy
|
||||
{
|
||||
|
||||
bool SysTraceStart()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void SysTraceStop()
|
||||
{
|
||||
}
|
||||
|
||||
void SysTraceWorker( void* ptr )
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
21
client/TracySysTrace.hpp
Normal file
21
client/TracySysTrace.hpp
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef __TRACYSYSTRACE_HPP__
|
||||
#define __TRACYSYSTRACE_HPP__
|
||||
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
# define TRACY_HAS_SYSTEM_TRACING
|
||||
#endif
|
||||
|
||||
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||
|
||||
namespace tracy
|
||||
{
|
||||
|
||||
bool SysTraceStart();
|
||||
void SysTraceStop();
|
||||
void SysTraceWorker( void* ptr );
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user