mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-22 14:44:34 +00:00
linux: respect TRACY_NO_SAMPLING
for sys-tracing
This compile-time flag was being ignored on Linux. This change adds gating for software-sampled stack trace sampling following the same pattern as other `TRACY_NO_SAMPLE_*` options. If `TRACY_NO_SAMPLING=1` is provided as an environment variable, software stack sampling is also disabled.
This commit is contained in:
parent
2b7b79352b
commit
6249999153
@ -770,6 +770,13 @@ bool SysTraceStart( int64_t& samplingPeriod )
|
||||
TracyDebug( "sched_wakeup id: %i\n", wakeupId );
|
||||
TracyDebug( "drm_vblank_event id: %i\n", vsyncId );
|
||||
|
||||
#ifdef TRACY_NO_SAMPLING
|
||||
const bool noSoftwareSampling = true;
|
||||
#else
|
||||
const char* noSoftwareSamplingEnv = GetEnvVar( "TRACY_NO_SAMPLING" );
|
||||
const bool noSoftwareSampling = noSoftwareSamplingEnv && noSoftwareSamplingEnv[0] == '1';
|
||||
#endif
|
||||
|
||||
#ifdef TRACY_NO_SAMPLE_RETIREMENT
|
||||
const bool noRetirement = true;
|
||||
#else
|
||||
@ -839,6 +846,8 @@ bool SysTraceStart( int64_t& samplingPeriod )
|
||||
pe.clockid = CLOCK_MONOTONIC_RAW;
|
||||
#endif
|
||||
|
||||
if( !noSoftwareSampling )
|
||||
{
|
||||
TracyDebug( "Setup software sampling\n" );
|
||||
ProbePreciseIp( pe, currentPid );
|
||||
for( int i=0; i<s_numCpus; i++ )
|
||||
@ -863,6 +872,7 @@ bool SysTraceStart( int64_t& samplingPeriod )
|
||||
TracyDebug( " Core %i ok\n", i );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// CPU cycles + instructions retired
|
||||
pe = {};
|
||||
|
Loading…
Reference in New Issue
Block a user