Thiago Santos
cf5e7c03c2
stats: log the element-new hook properly
...
To be able to get the time the elements were created instead of
just logging them without a time
2015-10-29 07:27:35 -03:00
Thiago Santos
7c5f7173c8
tracers: stats: add message structure to output
...
The name of the message is not enough. For example, state-change
is not enough to know the transition.
https://bugzilla.gnome.org/show_bug.cgi?id=754496
2015-10-05 19:06:41 -03:00
Thiago Santos
0913f699e2
tracer: gststats: add thread-id to log line
2015-10-05 20:59:39 +02:00
Thiago Santos
567865c81c
tracer: add pad query hooks
2015-10-05 20:59:39 +02:00
Stefan Sauer
e5eb05741b
stats: TIMESTAMP -> PTS
2015-10-05 20:59:39 +02:00
Stefan Sauer
660049bb38
tracing: rename the global api to gst_tracing
...
This makes it more obvious what is the api for tracer elements and what is api
for the global state.
2015-10-05 20:59:39 +02:00
Stefan Sauer
5e2770566f
tracers: eliminate var_args
...
Register tracer hooks as GCallback. Use macros for hook dispatch and cast the
hook functions back to the appropriate type.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b10b10cf1e
tracers: code cleanups
...
Move static variables to instance variables. Add finalize methods. Remove code
that is commented out. Cleanup locking code.
2015-10-05 20:59:39 +02:00
Stefan Sauer
4881d1c16c
tracer: use GQuark or strings for the hook id
...
This way one can define new tracing probes without changing the core. We are
using our own quark table, as 1) we only want to initialize them if we're
tracing, 2) we want to share them with the tracers.
2015-10-05 20:59:39 +02:00
Stefan Sauer
1a3e218b89
tracer: simplify hook api
...
Instead of a single invoke() function and a 'mask', register to individual
hooks. This avoids one level of indirection and allows us to remove the
hook enums. The message enms are now renamed to hook enums.
2015-10-05 20:59:39 +02:00
Stefan Sauer
7b24d76260
tracer: drop the HookId hid from the invoke method
...
The MessageId is more detailed and anyway needed to interpret the varargs.
2015-10-05 20:59:39 +02:00
Stefan Sauer
4ab1e6e3f7
stats: fixup doc name and remove commented code
2015-10-05 20:59:39 +02:00
Stefan Sauer
4f6f8cb811
tracers: add metadata for the logged values
2015-10-05 20:59:39 +02:00
Stefan Sauer
6ea2b41364
docs: add gtk-doc blobs
2015-10-05 20:59:39 +02:00
Stefan Sauer
7dfc0a8ead
tracers: add a logging helper to remove identical copies from the tracers
2015-10-05 20:59:39 +02:00
Stefan Sauer
635a4b5c00
tracers: tweak the get_real_pad_parent()
...
By using the we ended up on the actual element, not the parent.
2015-10-05 20:59:39 +02:00
Stefan Sauer
0c26387e62
stats: improve the handling of parentage
...
Log new object after we did the check for parents.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b8eef6ba2c
stats: add a stats frontend
...
Parse the log and collect data from tracer messages.
2015-10-05 20:59:39 +02:00
Stefan Sauer
ce7ce2d866
tracer: add more hooks and handle it in the plugins
2015-10-05 20:59:39 +02:00
Stefan Sauer
37721fdc9d
stats: handle buffer lists
2015-10-05 20:59:39 +02:00
Stefan Sauer
11d6e13d73
tracer: use a macros for the enabled check
...
Avoid a function call and check the variables from the macro.
2015-10-05 20:59:39 +02:00
Stefan Sauer
9d3975b5da
tracer: pass the timestamp directly
...
Avoid the structure mashalling (and weird field naming).
2015-10-05 20:59:39 +02:00
Stefan Sauer
d663b78612
stats: add a tracer that collects pipeline statistics
...
This is more or less equiv to the the statistics in gst-tracelib.
2015-10-05 20:59:39 +02:00