core_profiler.h
1.32 KB
/*
** LuaProfiler
** Copyright Kepler Project 2005-2007 (http://www.keplerproject.org/luaprofiler)
** $Id: core_profiler.h,v 1.6 2007/08/22 19:23:53 carregal Exp $
*/
/*****************************************************************************
core_profiler.h:
Lua version independent profiler interface.
Responsible for handling the "enter function" and "leave function" events
and for writing the log file.
Design (using the Lua callhook mechanism) :
'lprofP_init_core_profiler' set up the profile service
'lprofP_callhookIN' called whenever Lua enters a function
'lprofP_callhookOUT' called whenever Lua leaves a function
*****************************************************************************/
#include "stack.h"
/* computes new stack and new timer */
void lprofP_callhookIN(lprofP_STATE* S, char *func_name, char *file, int linedefined, int currentline);
/* pauses all timers to write a log line and computes the new stack */
/* returns if there is another function in the stack */
int lprofP_callhookOUT(lprofP_STATE* S);
/* opens the log file */
/* returns true if the file could be opened */
lprofP_STATE* lprofP_init_core_profiler(const char *_out_filename, int isto_printheader, float _function_call_time);
/* used in lua50_profiler.c */
void lprofP_close_core_profiler(lprofP_STATE* S);