// Read env vars at startup, so as to set: // sUnwindInterval, sProfileEntries, sUnwindStackScan. void read_profiler_env_vars() { /* Set defaults */ sUnwindInterval = 0; /* We'll have to look elsewhere */ sProfileEntries = 0; const char* interval = getenv(PROFILER_INTERVAL); const char* entries = getenv(PROFILER_ENTRIES); const char* scanCount = getenv(PROFILER_STACK); if (getenv(PROFILER_HELP)) { // Enable verbose output moz_profiler_set_verbosity(ProfilerVerbosity::VERBOSE); profiler_usage(); // Now force the next enquiry of moz_profiler_verbose to re-query // env var MOZ_PROFILER_VERBOSE. moz_profiler_set_verbosity(ProfilerVerbosity::UNCHECKED); } if (!set_profiler_interval(interval) || !set_profiler_entries(entries) || !set_profiler_scan(scanCount)) { profiler_usage(); } else { LOG( "SPS:"); LOGF("SPS: Sampling interval = %d ms (zero means \"platform default\")", (int)sUnwindInterval); LOGF("SPS: Entry store size = %d (zero means \"platform default\")", (int)sProfileEntries); LOGF("SPS: UnwindStackScan = %d (max dubious frames per unwind).", (int)sUnwindStackScan); LOG( "SPS:"); } }
// Read env vars at startup, so as to set sUnwindMode and sInterval. void read_profiler_env_vars() { bool nativeAvail = is_native_unwinding_avail(); /* Set defaults */ sUnwindMode = nativeAvail ? UnwCOMBINED : UnwPSEUDO; sUnwindInterval = 0; /* We'll have to look elsewhere */ sProfileEntries = 0; const char* stackMode = PR_GetEnv(PROFILER_MODE); const char* interval = PR_GetEnv(PROFILER_INTERVAL); const char* entries = PR_GetEnv(PROFILER_ENTRIES); const char* scanCount = PR_GetEnv(PROFILER_STACK); if (!set_profiler_mode(stackMode) || !set_profiler_interval(interval) || !set_profiler_entries(entries) || !set_profiler_scan(scanCount)) { profiler_usage(); } else { LOG( "SPS:"); LOGF("SPS: Unwind mode = %s", name_UnwMode(sUnwindMode)); LOGF("SPS: Sampling interval = %d ms (zero means \"platform default\")", (int)sUnwindInterval); LOGF("SPS: Entry store size = %d (zero means \"platform default\")", (int)sProfileEntries); LOGF("SPS: UnwindStackScan = %d (max dubious frames per unwind).", (int)sUnwindStackScan); LOG( "SPS: Use env var MOZ_PROFILER_MODE=help for further information."); LOG( "SPS:"); } }