Add gdk_profiler_add_markf() to do printf formating

This allows us to avoid hand-rolling g_strdup_printf calls,
but also moves the printf into the called function where
it doesn't bloat the code of the calling function if the profiler
is not running.
This commit is contained in:
Alexander Larsson 2020-02-12 09:56:10 +01:00
parent c2dcd1bf94
commit 6de85c0a68
2 changed files with 30 additions and 0 deletions

View File

@ -100,6 +100,31 @@ gdk_profiler_add_mark (gint64 start,
"gtk", name, message);
}
void
gdk_profiler_add_markf (gint64 start,
guint64 duration,
const char *name,
const char *format,
...)
{
va_list args;
char *message;
if (!running)
return;
va_start (args, format);
message = g_strdup_vprintf (format, args);
va_end (args);
sysprof_capture_writer_add_mark (writer,
start,
-1, getpid (),
duration,
"gtk", name, message);
g_free (message);
}
static guint
define_counter (const char *name,
const char *description,

View File

@ -30,6 +30,11 @@ void gdk_profiler_add_mark (gint64 start,
guint64 duration,
const char *name,
const char *message);
void gdk_profiler_add_markf (gint64 start,
guint64 duration,
const char *name,
const char *format,
...) G_GNUC_PRINTF (4, 5);
guint gdk_profiler_define_counter (const char *name,
const char *description);
void gdk_profiler_set_counter (guint id,