GTK supports profiling with sysprof. It exports timing information about frameclock phases and various characteristics of GskRenderers in a format that can be displayed by sysprof or GNOME Builder.

A simple way to capture data is to run your application under the sysprof-cli wrapper, which will write profiling data to a file called capture.syscap.

When launching the application from sysprof, it will set the SYSPROF_TRACE_FD environment variable to point GTK at a file descriptor to write profiling data to.