diff options
Diffstat (limited to 'lib/ephy-debug.h')
-rw-r--r-- | lib/ephy-debug.h | 44 |
1 files changed, 39 insertions, 5 deletions
diff --git a/lib/ephy-debug.h b/lib/ephy-debug.h index 4939bffef..934f2b658 100644 --- a/lib/ephy-debug.h +++ b/lib/ephy-debug.h @@ -19,21 +19,55 @@ #ifndef EPHY_DEBUG_H #define EPHY_DEBUG_H +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <glib.h> G_BEGIN_DECLS +#ifndef GNOME_ENABLE_DEBUG +#define DISABLE_LOGGING +#define DISABLE_PROFILING +#endif + #ifdef DISABLE_LOGGING -#define LOG() +#define LOG(msg, ...) #else -#define LOG(msg, args...) \ +#define LOG(msg, ...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \ "[ %s ] " msg, \ - __FILE__, \ - args); + __FILE__, ##__VA_ARGS__); +#endif + +#ifdef DISABLE_PROFILING +#define START_PROFILER(name) +#define STOP_PROFILER(name) +#else +#define START_PROFILER(name) \ +ephy_profiler_start (name, __FILE__); +#define STOP_PROFILER(name) \ +ephy_profiler_stop (name); #endif -void ephy_debug_init (void); +typedef struct +{ + GTimer *timer; + char *name; + char *module; +} EphyProfiler; + +void ephy_debug_init (void); + +#ifndef DISABLE_PROFILING + +void ephy_profiler_start (const char *name, + const char *module); + +void ephy_profiler_stop (const char *name); + +#endif G_END_DECLS |