diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index eca071ab..c5b8beec 100755 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -114,6 +114,9 @@ void Profiler::Worker() } { + const auto procname = GetProcessName(); + const auto pnsz = std::min( strlen( procname ), WelcomeMessageProgramNameSize - 1 ); + WelcomeMessage welcome; #ifdef DISABLE_LZ4 // notify client that lz4 compression is disabled (too slow in debug builds) @@ -125,6 +128,8 @@ void Profiler::Worker() welcome.timeBegin = m_timeBegin; welcome.delay = m_delay; welcome.resolution = m_resolution; + memcpy( welcome.programName, procname, pnsz ); + memset( welcome.programName + pnsz, 0, WelcomeMessageProgramNameSize - pnsz ); m_sock->Send( &welcome, sizeof( welcome ) ); } diff --git a/common/TracyProtocol.hpp b/common/TracyProtocol.hpp index 80ae8885..5334e0f6 100755 --- a/common/TracyProtocol.hpp +++ b/common/TracyProtocol.hpp @@ -24,6 +24,8 @@ enum ServerQuery : uint8_t ServerQuerySourceLocation, }; +enum { WelcomeMessageProgramNameSize = 64 }; + #pragma pack( 1 ) struct WelcomeMessage { @@ -32,9 +34,12 @@ struct WelcomeMessage uint64_t timeBegin; uint64_t delay; uint64_t resolution; + char programName[WelcomeMessageProgramNameSize]; }; #pragma pack() +enum { WelcomeMessageSize = sizeof( WelcomeMessage ) }; + } #endif