diff --git a/headers/private/kernel/system_profiler.h b/headers/private/kernel/system_profiler.h index 4578f5ca78..6b83c7707c 100644 --- a/headers/private/kernel/system_profiler.h +++ b/headers/private/kernel/system_profiler.h @@ -15,7 +15,8 @@ struct system_profiler_parameters; __BEGIN_DECLS -status_t start_system_profiler(size_t areaSize, uint32 flags); +status_t start_system_profiler(size_t areaSize, uint32 stackDepth, + bigtime_t interval); void stop_system_profiler(); status_t _user_system_profiler_start( diff --git a/src/system/kernel/debug/system_profiler.cpp b/src/system/kernel/debug/system_profiler.cpp index 637f4f327f..ca5ba13e24 100644 --- a/src/system/kernel/debug/system_profiler.cpp +++ b/src/system/kernel/debug/system_profiler.cpp @@ -1141,7 +1141,7 @@ SystemProfiler::_ProfilingEvent(struct timer* timer) status_t -start_system_profiler(size_t areaSize, uint32 flags) +start_system_profiler(size_t areaSize, uint32 stackDepth, bigtime_t interval) { struct ParameterDeleter { ParameterDeleter(area_id area) @@ -1184,11 +1184,12 @@ start_system_profiler(size_t areaSize, uint32 flags) return B_NO_MEMORY; sRecordedParameters->buffer_area = area; - sRecordedParameters->flags - = flags | B_SYSTEM_PROFILER_SAMPLING_EVENTS; + sRecordedParameters->flags = B_SYSTEM_PROFILER_TEAM_EVENTS + | B_SYSTEM_PROFILER_THREAD_EVENTS | B_SYSTEM_PROFILER_IMAGE_EVENTS + | B_SYSTEM_PROFILER_SAMPLING_EVENTS; sRecordedParameters->locking_lookup_size = 4096; - sRecordedParameters->interval = 1000; - sRecordedParameters->stack_depth = 5; + sRecordedParameters->interval = interval; + sRecordedParameters->stack_depth = stackDepth; area_info areaInfo; get_area_info(area, &areaInfo);