rendered paste bodyglobal names
global new
global ref
global unref
probe gobject.type_new
{
if (target() == pid())
{
names[gtype] = user_string($name);
}
}
probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_new").call {
if (target() == pid())
{
name = names[$type];
printf ("GST_MINI_OBJECT new (%s) %x %d %s\n", $$parms, $type, $type, name);
new++;
}
}
//probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_new").return {
// if (target() == pid())
// {
// printf ("(%s)\n", $$return);
// }
//}
probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_ref") {
if (target() == pid())
{
printf ("GST_MINI_OBJECT ref (%s) %x\n", $$parms, $mini_object->refcount);
ref++;
}
}
probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_unref") {
if (target() == pid())
{
printf ("GST_MINI_OBJECT unref (%s) %x\n", $$parms, $mini_object->refcount);
unref++;
}
}
probe begin {
printf ("// gst-memtrace2.stp; target=%d\n", target());
new = 0;
ref = 0;
unref = 0;
}
probe end {
println (new);
println (ref);
println (unref);
}