mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04: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/TracyProfiler.cpp"
|
||||||
#include "client/TracyCallstack.cpp"
|
#include "client/TracyCallstack.cpp"
|
||||||
#include "client/TracySysTime.cpp"
|
#include "client/TracySysTime.cpp"
|
||||||
|
#include "client/TracySysTrace.cpp"
|
||||||
#include "common/TracySocket.cpp"
|
#include "common/TracySocket.cpp"
|
||||||
#include "client/tracy_rpmalloc.cpp"
|
#include "client/tracy_rpmalloc.cpp"
|
||||||
#include "client/TracyDxt1.cpp"
|
#include "client/TracyDxt1.cpp"
|
||||||
|
@ -931,6 +931,10 @@ static Profiler* s_instance;
|
|||||||
static Thread* s_thread;
|
static Thread* s_thread;
|
||||||
static Thread* s_compressThread;
|
static Thread* s_compressThread;
|
||||||
|
|
||||||
|
#ifdef TRACY_HAS_SYSTEM_TRACING
|
||||||
|
static Thread* s_sysTraceThread = nullptr;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TRACY_DELAYED_INIT
|
#ifdef TRACY_DELAYED_INIT
|
||||||
struct ThreadNameData;
|
struct ThreadNameData;
|
||||||
TRACY_API moodycamel::ConcurrentQueue<QueueItem>& GetQueue();
|
TRACY_API moodycamel::ConcurrentQueue<QueueItem>& GetQueue();
|
||||||
@ -1138,6 +1142,15 @@ Profiler::Profiler()
|
|||||||
new(s_compressThread) Thread( LaunchCompressWorker, this );
|
new(s_compressThread) Thread( LaunchCompressWorker, this );
|
||||||
SetThreadName( s_compressThread->Handle(), "Tracy Profiler DXT1" );
|
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
|
#if defined PTW32_VERSION
|
||||||
s_profilerThreadId = pthread_getw32threadid_np( s_thread->Handle() );
|
s_profilerThreadId = pthread_getw32threadid_np( s_thread->Handle() );
|
||||||
#elif defined __WINPTHREADS_VERSION
|
#elif defined __WINPTHREADS_VERSION
|
||||||
@ -1174,6 +1187,16 @@ Profiler::Profiler()
|
|||||||
Profiler::~Profiler()
|
Profiler::~Profiler()
|
||||||
{
|
{
|
||||||
m_shutdown.store( true, std::memory_order_relaxed );
|
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();
|
s_compressThread->~Thread();
|
||||||
tracy_free( s_compressThread );
|
tracy_free( s_compressThread );
|
||||||
s_thread->~Thread();
|
s_thread->~Thread();
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "tracy_concurrentqueue.h"
|
#include "tracy_concurrentqueue.h"
|
||||||
#include "TracyCallstack.hpp"
|
#include "TracyCallstack.hpp"
|
||||||
#include "TracySysTime.hpp"
|
#include "TracySysTime.hpp"
|
||||||
|
#include "TracySysTrace.hpp"
|
||||||
#include "TracyFastVector.hpp"
|
#include "TracyFastVector.hpp"
|
||||||
#include "../common/TracyQueue.hpp"
|
#include "../common/TracyQueue.hpp"
|
||||||
#include "../common/TracyAlign.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