035e3e77ed
* This enables a mechanism to profile almost the complete boot process (starting with main2()), if SYSTEM_PROFILER is defined to 1. * You can access the profiling data using "profile -r".
38 lines
822 B
C
38 lines
822 B
C
/*
|
|
* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _KERNEL_SYSTEM_PROFILER_H
|
|
#define _KERNEL_SYSTEM_PROFILER_H
|
|
|
|
#include <sys/cdefs.h>
|
|
|
|
#include <OS.h>
|
|
|
|
#include "kernel_debug_config.h"
|
|
|
|
|
|
struct system_profiler_parameters;
|
|
|
|
|
|
__BEGIN_DECLS
|
|
|
|
#if SYSTEM_PROFILER
|
|
status_t start_system_profiler(size_t areaSize, uint32 stackDepth,
|
|
bigtime_t interval);
|
|
void stop_system_profiler();
|
|
#endif
|
|
|
|
status_t _user_system_profiler_start(
|
|
struct system_profiler_parameters* parameters);
|
|
status_t _user_system_profiler_next_buffer(size_t bytesRead,
|
|
uint64* _droppedEvents);
|
|
status_t _user_system_profiler_stop();
|
|
status_t _user_system_profiler_recorded(
|
|
struct system_profiler_parameters* parameters);
|
|
|
|
__END_DECLS
|
|
|
|
|
|
#endif /* _KERNEL_SYSTEM_PROFILER_H */
|