diff --git a/public/client/TracyProfiler.cpp b/public/client/TracyProfiler.cpp index 90ff8ea0..b1c134a9 100644 --- a/public/client/TracyProfiler.cpp +++ b/public/client/TracyProfiler.cpp @@ -1524,6 +1524,7 @@ Profiler::Profiler() , m_broadcast( nullptr ) , m_noExit( false ) , m_userPort( 0 ) + , m_dataPort( 0 ) , m_zoneId( 1 ) , m_sectionId( 1 ) , m_samplingPeriod( 0 ) @@ -1777,10 +1778,10 @@ void Profiler::Worker() #ifdef TRACY_DATA_PORT const bool dataPortSearch = false; - auto dataPort = m_userPort != 0 ? m_userPort : TRACY_DATA_PORT; + m_dataPort = m_userPort != 0 ? m_userPort : TRACY_DATA_PORT; #else const bool dataPortSearch = m_userPort == 0; - auto dataPort = m_userPort != 0 ? m_userPort : 8086; + m_dataPort = m_userPort != 0 ? m_userPort : 8086; #endif #ifdef TRACY_BROADCAST_PORT const auto broadcastPort = TRACY_BROADCAST_PORT; @@ -1882,15 +1883,15 @@ void Profiler::Worker() bool isListening = false; if( !dataPortSearch ) { - isListening = listen.Listen( dataPort, 4 ); + isListening = listen.Listen( m_dataPort, 4 ); } else { for( uint32_t i=0; i<20; i++ ) { - if( listen.Listen( dataPort+i, 4 ) ) + if( listen.Listen( m_dataPort+i, 4 ) ) { - dataPort += i; + m_dataPort += i; isListening = true; break; } @@ -1934,7 +1935,7 @@ void Profiler::Worker() #endif int broadcastLen = 0; - auto& broadcastMsg = GetBroadcastMessage( procname, pnsz, broadcastLen, dataPort ); + auto& broadcastMsg = GetBroadcastMessage( procname, pnsz, broadcastLen, m_dataPort ); uint64_t lastBroadcast = 0; // Connections loop. @@ -1974,7 +1975,7 @@ void Profiler::Worker() m_programNameLock.lock(); if( m_programName ) { - broadcastMsg = GetBroadcastMessage( m_programName, strlen( m_programName ), broadcastLen, dataPort ); + broadcastMsg = GetBroadcastMessage( m_programName, strlen( m_programName ), broadcastLen, m_dataPort ); m_programName = nullptr; } m_programNameLock.unlock(); diff --git a/public/client/TracyProfiler.hpp b/public/client/TracyProfiler.hpp index 2a564afc..e8d08a10 100644 --- a/public/client/TracyProfiler.hpp +++ b/public/client/TracyProfiler.hpp @@ -909,6 +909,11 @@ public: return m_isConnected.load( std::memory_order_acquire ); } + tracy_force_inline uint32_t GetPort() const + { + return m_dataPort; + } + tracy_force_inline void SetProgramName( const char* name ) { m_programNameLock.lock(); @@ -1170,6 +1175,7 @@ private: UdpBroadcast* m_broadcast; bool m_noExit; uint32_t m_userPort; + uint32_t m_dataPort; std::atomic m_zoneId; std::atomic m_sectionId; int64_t m_samplingPeriod; diff --git a/public/tracy/Tracy.hpp b/public/tracy/Tracy.hpp index b8f12b6b..08d13cac 100644 --- a/public/tracy/Tracy.hpp +++ b/public/tracy/Tracy.hpp @@ -115,6 +115,7 @@ #define TracyParameterRegister(x,y) #define TracyParameterSetup(x,y,z,w) #define TracyIsConnected false +#define TracyPort 0 #define TracyIsStarted false #define TracySetProgramName(x) @@ -258,6 +259,7 @@ #define TracyParameterRegister( cb, data ) tracy::Profiler::ParameterRegister( cb, data ) #define TracyParameterSetup( idx, name, type, val ) tracy::Profiler::ParameterSetup( idx, name, type, val ) #define TracyIsConnected tracy::GetProfiler().IsConnected() +#define TracyPort tracy::GetProfiler().GetPort() #define TracySetProgramName( name ) tracy::GetProfiler().SetProgramName( name ) #define TracySectionEnter( fmt, ... ) tracy::Profiler::SectionEnter( 0, fmt, ##__VA_ARGS__ )