mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-01 16:08:30 +00:00
Added Profiler::GetPort() and TracyPort macro to query the data port in use.
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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<uint32_t> m_zoneId;
|
||||
std::atomic<uint32_t> m_sectionId;
|
||||
int64_t m_samplingPeriod;
|
||||
|
||||
@@ -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__ )
|
||||
|
||||
Reference in New Issue
Block a user