[Bug 760267] tracer: how to pass and structure tracing data (GstStructure, GVariant, etc.)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Jan 14 00:23:21 PST 2016


https://bugzilla.gnome.org/show_bug.cgi?id=760267

Stefan Sauer (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #318989|0                           |1
        is obsolete|                            |

--- Comment #14 from Stefan Sauer (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> ---
Created attachment 319001
  --> https://bugzilla.gnome.org/attachment.cgi?id=319001&action=edit
updated patch, now all tracers are ported

A few things to discuss:
- booleans and enums
With the GstStructure we serialize enums as "strings" and also booleans as
stings. I will test if we can deserialize them also from numbers, otherwise we
probably need some helpers to serialize the in the expected form.
- optional values
The log entries need to be static if we use a format strings like this. We
could make this more fancier behind the scenes by having a piecewise format
string (snippets for each value) and mark optional fields in the spec (a flag
instead of an extra field). When when logging we assemble the format string
depending on the presence of optional fields (we can take a shortcut for
messages that don't have this).


And here is a benchmark run with actually logging enabled:
0:00:00.946081989: GstStructure
0:00:00.568562562: GstStructure template
0:00:01.073995872: GVariant

Seems that half the time is in writing the log.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list