diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-01-01 21:39:52 +0100 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-05-27 14:51:41 -0400 |
commit | 8e41be13efe06a0bbd89beefc6e7ae7279b56834 (patch) | |
tree | fd02075647ccb27bf26fe0c3896ad68c460db144 /gobject/gobject_trace.h | |
parent | bef9efd0a99a9a3bd6a2d713423edc37d6a38f21 (diff) | |
download | glib-8e41be13efe06a0bbd89beefc6e7ae7279b56834.tar.gz |
Add dtrace and systemtap support for gobject
This adds static markers and systemtap tapsets for:
* type creation
* object lifetimes (creation, ref, unref, dispose, finalize)
* signal creation and emission
Signal emissions and finalization marker have a corresponding
*_end (or *-end in dtrace) version that is when the corresponding
operation is finished.
https://bugzilla.gnome.org/show_bug.cgi?id=606044
Diffstat (limited to 'gobject/gobject_trace.h')
-rw-r--r-- | gobject/gobject_trace.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gobject/gobject_trace.h b/gobject/gobject_trace.h new file mode 100644 index 000000000..292a0e862 --- /dev/null +++ b/gobject/gobject_trace.h @@ -0,0 +1,43 @@ +/* GLIB - Library of useful routines for C programming + * + * Copyright (C) 2009,2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Alexander Larsson <alexl@redhat.com> + */ + +#ifndef __GOBJECTTRACE_H__ +#define __GOBJECTTRACE_H__ + +#ifndef SIZEOF_CHAR +#error "config.h must be included prior to gobject_trace.h" +#endif + +#ifdef HAVE_DTRACE + +/* include the generated probes header and put markers in code */ +#include "gobject_probes.h" +#define TRACE(probe) probe + +#else + +/* Wrap the probe to allow it to be removed when no systemtap available */ +#define TRACE(probe) + +#endif + +#endif /* __GOBJECTTRACE_H__ */ |