summaryrefslogtreecommitdiff
path: root/trunk/src/backend/debug.h
blob: 26fb1685603b5e20e552a23e463d3a1a662df26e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef __TOTEM_DEBUG_H__
#define __TOTEM_DEBUG_H__ 1

#ifdef GNOME_ENABLE_DEBUG

#include <sys/time.h>

#ifdef G_HAVE_ISO_VARARGS
#define D(...) g_message (__VA_ARGS__)
#else
#define D(x...) g_message (x)
#endif
#define TE() { g_message ("enter %s", __PRETTY_FUNCTION__ ); gdk_threads_enter (); }
#define TL() { g_message ("leave %s", __PRETTY_FUNCTION__); gdk_threads_leave (); }
#define TOTEM_PROFILE(function)     \
    do{                             \
      struct timeval current_time;  \
      double dtime;                 \
      gettimeofday(&current_time, NULL); \
      dtime = -(current_time.tv_sec + (current_time.tv_usec / 1000000.0)); \
      function;                     \
      gettimeofday(&current_time, NULL); \
      dtime += current_time.tv_sec + (current_time.tv_usec / 1000000.0); \
      printf("(%s:%d) took %lf seconds\n", \
	     __PRETTY_FUNCTION__, __LINE__, dtime ); \
    }while(0)
#else
#ifdef G_HAVE_ISO_VARARGS
#define D(...)
#else
#define D(x...)
#endif
#define TE() { gdk_threads_enter (); }
#define TL() { gdk_threads_leave (); }
#define TOTEM_PROFILE(function) function
#endif

#endif /* __TOTEM_DEBUG_H__ */