aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ephy-debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ephy-debug.h')
-rw-r--r--lib/ephy-debug.h44
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