Add a way to start the profiler
authorMatthias Clasen <mclasen@redhat.com>
Sat, 19 May 2018 18:42:11 +0000 (19:42 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 7 May 2019 16:37:59 +0000 (09:37 -0700)
If SYSPROF_TRACE_FD is set in the environment,
interpret it as an fd to write profiling data
to.

If GTK_TRACE is set, write profiling data
to a file with name gtk.$PID.syscap.

gdk/gdk.c

index 29acab541583b46ee8c72ad4b1b5dfb76b2ae6ab..bc03cbad99a0f084d8d069376ed30eb5515989dd 100644 (file)
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -26,6 +26,7 @@
 
 #include "gdkversionmacros.h"
 
+#include "gdkprofilerprivate.h"
 #include "gdkinternals.h"
 #include "gdkintl.h"
 
@@ -211,6 +212,11 @@ gdk_pre_parse (void)
       _gdk_debug_flags = g_parse_debug_string (debug_string,
                                               (GDebugKey *) gdk_debug_keys,
                                               G_N_ELEMENTS (gdk_debug_keys));
+
+    if (g_getenv ("SYSPROF_TRACE_FD"))
+      gdk_profiler_start (atoi (g_getenv ("SYSPROF_TRACE_FD")));
+    else if (g_getenv ("GTK_TRACE"))
+      gdk_profiler_start (-1);
   }
 #endif  /* G_ENABLE_DEBUG */