mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-29 08:54:34 +00:00
Merge remote-tracking branch 'origin/master' into hw
This commit is contained in:
commit
fef507dfa2
8
NEWS
8
NEWS
@ -3,6 +3,14 @@ be able to talk with each other. Network protocol breakages won't be listed
|
|||||||
here.
|
here.
|
||||||
|
|
||||||
|
|
||||||
|
v0.x.x (xxxx-xx-xx)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- Added TRACY_NO_CALLSTACK_INLINES macro to disable inline functions
|
||||||
|
resolution in call stacks on Windows.
|
||||||
|
- Limited client query response rate.
|
||||||
|
|
||||||
|
|
||||||
v0.7.8 (2021-05-19)
|
v0.7.8 (2021-05-19)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -292,7 +292,7 @@ CallstackSymbolData DecodeCodeAddress( uint64_t ptr )
|
|||||||
#ifdef TRACY_DBGHELP_LOCK
|
#ifdef TRACY_DBGHELP_LOCK
|
||||||
DBGHELP_LOCK;
|
DBGHELP_LOCK;
|
||||||
#endif
|
#endif
|
||||||
#ifndef __CYGWIN__
|
#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES
|
||||||
DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr );
|
DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr );
|
||||||
DWORD ctx = 0;
|
DWORD ctx = 0;
|
||||||
DWORD idx;
|
DWORD idx;
|
||||||
@ -335,7 +335,7 @@ CallstackEntryData DecodeCallstackPtr( uint64_t ptr )
|
|||||||
#ifdef TRACY_DBGHELP_LOCK
|
#ifdef TRACY_DBGHELP_LOCK
|
||||||
DBGHELP_LOCK;
|
DBGHELP_LOCK;
|
||||||
#endif
|
#endif
|
||||||
#ifndef __CYGWIN__
|
#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES
|
||||||
DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr );
|
DWORD inlineNum = SymAddrIncludeInlineTrace( proc, ptr );
|
||||||
if( inlineNum > MaxCbTrace - 1 ) inlineNum = MaxCbTrace - 1;
|
if( inlineNum > MaxCbTrace - 1 ) inlineNum = MaxCbTrace - 1;
|
||||||
DWORD ctx = 0;
|
DWORD ctx = 0;
|
||||||
@ -393,7 +393,7 @@ CallstackEntryData DecodeCallstackPtr( uint64_t ptr )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __CYGWIN__
|
#if !defined __CYGWIN__ && !defined TRACY_NO_CALLSTACK_INLINES
|
||||||
if( doInline )
|
if( doInline )
|
||||||
{
|
{
|
||||||
for( DWORD i=0; i<inlineNum; i++ )
|
for( DWORD i=0; i<inlineNum; i++ )
|
||||||
|
@ -1676,7 +1676,7 @@ void Profiler::Worker()
|
|||||||
|
|
||||||
keepAlive = 0;
|
keepAlive = 0;
|
||||||
}
|
}
|
||||||
else
|
else if( !m_sock->HasData() )
|
||||||
{
|
{
|
||||||
keepAlive++;
|
keepAlive++;
|
||||||
std::this_thread::sleep_for( std::chrono::milliseconds( 10 ) );
|
std::this_thread::sleep_for( std::chrono::milliseconds( 10 ) );
|
||||||
@ -1687,10 +1687,12 @@ void Profiler::Worker()
|
|||||||
keepAlive = 0;
|
keepAlive = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int quota = 500;
|
||||||
bool connActive = true;
|
bool connActive = true;
|
||||||
while( m_sock->HasData() && connActive )
|
while( quota-- && m_sock->HasData() )
|
||||||
{
|
{
|
||||||
connActive = HandleServerQuery();
|
connActive = HandleServerQuery();
|
||||||
|
if( !connActive ) break;
|
||||||
}
|
}
|
||||||
if( !connActive ) break;
|
if( !connActive ) break;
|
||||||
}
|
}
|
||||||
|
@ -1531,6 +1531,10 @@ void DbgHelpUnlock() { ReleaseMutex(dbgHelpLock); }
|
|||||||
}
|
}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\paragraph{Disabling resolution of inline frames}
|
||||||
|
|
||||||
|
Inline frames retrieval on Windows can be multiple orders of magnitude slower than just performing basic symbol resolution. This is being manifested as profiler seemingly being stuck for a long time, having hundred thousands of query backlog entries queued, which are slowly trickling down. If your use case requires speed of operation rather than having call stacks with inline frames included, you may define the \texttt{TRACY\_NO\_CALLSTACK\_INLINES} macro, which will make the profiler stick to the basic but fast frame resolution mode.
|
||||||
|
|
||||||
\subsection{Lua support}
|
\subsection{Lua support}
|
||||||
|
|
||||||
To profile Lua code using Tracy, include the \texttt{tracy/TracyLua.hpp} header file in your Lua wrapper and execute \texttt{tracy::LuaRegister(lua\_State*)} function to add instrumentation support.
|
To profile Lua code using Tracy, include the \texttt{tracy/TracyLua.hpp} header file in your Lua wrapper and execute \texttt{tracy::LuaRegister(lua\_State*)} function to add instrumentation support.
|
||||||
|
Loading…
Reference in New Issue
Block a user