Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf@nereid.pl>2021-12-04 20:47:21 +0300
committerGitHub <noreply@github.com>2021-12-04 20:47:21 +0300
commit0c809b14d51204b9a2a7b8dcba45346ee8a3bad0 (patch)
tree8ccaacfb284c5eaaeee76b1c14b7c7e73a0c9a85
parentbbbae3592550fafa500bfd2f5718dfc868443450 (diff)
parent14825d8e5a6b4e12f3b6ffee32b17f52a938921a (diff)
Merge pull request #289 from napoleon89/c-is-connected
Added IsConnected C API Equivalent
-rw-r--r--TracyC.h6
-rw-r--r--client/TracyProfiler.cpp5
-rw-r--r--manual/tracy.tex5
3 files changed, 16 insertions, 0 deletions
diff --git a/TracyC.h b/TracyC.h
index bac66df3..24616068 100644
--- a/TracyC.h
+++ b/TracyC.h
@@ -73,6 +73,8 @@ typedef const void* TracyCZoneCtx;
#define TracyCMessageCS(x,y,z,w)
#define TracyCMessageLCS(x,y,z)
+#define TracyCIsConnected 0
+
#ifdef TRACY_FIBERS
# define TracyCFiberEnter(fiber)
# define TracyCFiberLeave
@@ -169,6 +171,8 @@ TRACY_API void ___tracy_emit_gpu_time_serial( const struct ___tracy_gpu_time_dat
TRACY_API void ___tracy_emit_gpu_new_context_serial( const struct ___tracy_gpu_new_context_data );
TRACY_API void ___tracy_emit_gpu_context_name_serial( const struct ___tracy_gpu_context_name_data );
+TRACY_API int ___tracy_connected(void);
+
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
# define TracyCZone( ctx, active ) static const struct ___tracy_source_location_data TracyConcat(__tracy_source_location,__LINE__) = { NULL, __func__, __FILE__, (uint32_t)__LINE__, 0 }; TracyCZoneCtx ctx = ___tracy_emit_zone_begin_callstack( &TracyConcat(__tracy_source_location,__LINE__), TRACY_CALLSTACK, active );
# define TracyCZoneN( ctx, name, active ) static const struct ___tracy_source_location_data TracyConcat(__tracy_source_location,__LINE__) = { name, __func__, __FILE__, (uint32_t)__LINE__, 0 }; TracyCZoneCtx ctx = ___tracy_emit_zone_begin_callstack( &TracyConcat(__tracy_source_location,__LINE__), TRACY_CALLSTACK, active );
@@ -297,6 +301,8 @@ TRACY_API void ___tracy_emit_message_appinfo( const char* txt, size_t size );
# define TracyCMessageLCS( txt, color, depth ) TracyCMessageLC( txt, color )
#endif
+#define TracyCIsConnected ___tracy_connected()
+
TRACY_API void ___tracy_fiber_enter( const char* fiber );
TRACY_API void ___tracy_fiber_leave( void );
diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp
index c1d33d1c..93f8422e 100644
--- a/client/TracyProfiler.cpp
+++ b/client/TracyProfiler.cpp
@@ -4158,6 +4158,11 @@ TRACY_API void ___tracy_emit_gpu_context_name_serial( const struct ___tracy_gpu_
tracy::Profiler::QueueSerialFinish();
}
+TRACY_API int ___tracy_connected( void )
+{
+ return tracy::GetProfiler().IsConnected();
+}
+
#ifdef TRACY_FIBERS
TRACY_API void ___tracy_fiber_enter( const char* fiber ){ tracy::Profiler::EnterFiber( fiber ); }
TRACY_API void ___tracy_fiber_leave( void ){ tracy::Profiler::LeaveFiber(); }
diff --git a/manual/tracy.tex b/manual/tracy.tex
index dd17f49b..f72c7ed9 100644
--- a/manual/tracy.tex
+++ b/manual/tracy.tex
@@ -1862,6 +1862,10 @@ To see how this API should be used you should look at the reference implementati
Fibers are available in the C API through the \texttt{TracyCFiberEnter} and \texttt{TracyCFiberLeave} macros. To use them, you should observe the requirements listed in section~\ref{fibers}.
+\subsubsection{Connection Status}
+
+To query the connection status (section~\ref{connectionstatus}) using the C API you should use the \texttt{TracyCIsConnected} macro.
+
\subsubsection{Call stacks}
You can collect call stacks of zones and memory allocation events, as described in section~\ref{collectingcallstacks}, by using macros with \texttt{S} postfix, such as: \texttt{TracyCZoneS}, \texttt{TracyCZoneNS}, \texttt{TracyCZoneCS}, \texttt{TracyCZoneNCS}, \texttt{TracyCAllocS}, \texttt{TracyCFreeS}, and so on.
@@ -2086,6 +2090,7 @@ Usage of trace parameters makes profiling runs dependent on user interaction wit
\end{bclogo}
\subsection{Connection status}
+\label{connectionstatus}
To determine if a connection is currently established between the client and the server, you may use the \texttt{TracyIsConnected} macro, which returns a boolean value.