Stefan Sauer
ddc5654b60
tracer: mark GstTracerQuarkId as non GEnum
...
This reverts 72ca02b1de
and marks the enum
accordingly.
2015-10-06 18:49:46 +02:00
Stefan Sauer
03821d18a0
tracers: disable the log tracer if debug logging is disabled
2015-10-06 18:46:24 +02:00
Stefan Sauer
34cf8f3252
makefile.am: Remove obsolete Android build cruft
...
This is not needed any longer.
2015-10-06 18:45:41 +02:00
Stefan Sauer
b971c0979e
tracer: fix the build with debug (tracer) disabled
...
Sync the macro definitions. The dummy defines has argument mismatches.
2015-10-06 14:01:21 +02:00
Stefan Sauer
73e8508bd4
tracer: fix the build with debug (tracer) disabled
...
Remove commas at the end of the macros.
2015-10-06 11:39:33 +02: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
72ca02b1de
gst: adding tracer quark id to gst init and deinit
...
Fixes issues at make check
2015-10-05 19:06:41 -03:00
Thiago Santos
777bbeea60
win32: libgstreamer: add tracer functions
2015-10-05 18:50:48 -03:00
Stefan Sauer
5b3cbbc494
tests: fix the tag test
...
The previous change (see bgo #756069 ) was causing us to free the same pointer
multiple times. If we actually get a sample back, the test fails, no need to
free anything in that case.
2015-10-05 21:29:49 +02:00
Marcin Kolny
e8d0b019b3
tracer: add missing hooks
...
Add following hooks: element-new, element-add-pad, element-remove-pad,
bin-add-pre, bin-add-post, bin-remove-pre, bin-remove-post, pad-link-pre,
pad-link-post, pad-unlink-pre, pad-unlink-post.
https://bugzilla.gnome.org/show_bug.cgi?id=733187
2015-10-05 20:59:39 +02: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
Mathieu Duponchelle
eb0c8facca
tracer: strdup the passed parameters.
2015-10-05 20:59:39 +02:00
Mathieu Duponchelle
a9aab3c6c7
tracer: Use GST_TIME_ARGS when printing with GST_TIME_FORMAT.
2015-10-05 20:59:39 +02:00
Stefan Sauer
26af78b71f
tracing: update docs
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
d9901e7019
stats: fix cpu stats printing
...
Only print them if we have them. Also scale them by 10.0 as the are in
per-mille now.
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
f09dd66cf6
stats: don't warn on ".class" log lines
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
3baaa4ba6f
rusage: improve cpu load meassurements
...
Get the number of cpus and scale process cpu-load accordingly. Switch the
cpuload to be per-mille to get smoother graphs. Add a bit more logging and use
the _OBJECT variant.
2015-10-05 20:59:39 +02:00
Stefan Sauer
2ef32c8840
tracer: remove commented code
2015-10-05 20:59:39 +02:00
Stefan Sauer
77fd813760
design: update tracer design
...
Update the tracer event classes section. Add a performance section.
2015-10-05 20:59:39 +02:00
Stefan Sauer
d7acb27dee
tracer: use GST_PTR_FORMAT to log the structure
...
This way we only expand the structure when we're logging. This allows us to
meassure the pure tracing seperately from the logging.
Also add some comments on further improvements.
2015-10-05 20:59:39 +02:00
Stefan Sauer
dbb1897e9b
rusage: implement windowing of cpuload
...
Add a local help to the rusage plugin that supports windowing of values. We want
to generalize this for use in other plugins.
2015-10-05 20:59:39 +02:00
Stefan Sauer
018858980b
rusage: announce the data format
...
Rusage will now announce what is meassures and how it is logged. Use the new format in stats.
Cleanup the the code and naming.
2015-10-05 20:59:39 +02:00
Stefan Sauer
c13ee1f2e9
stats: improve cpu load meassurements
...
Rename variables for clarity. Handle the initial disparity between debug time
and the time already spent in the proc and main thread.
2015-10-05 20:59:39 +02:00
Stefan Sauer
c500372f5a
design: update tracer design
2015-10-05 20:59:39 +02:00
Stefan Sauer
b92ea7a0bc
quarks: revert the quark changes, we not using them anymore
2015-10-05 20:59:39 +02:00
Stefan Sauer
46ea9729df
tracer: split into tracer and tracerutils
...
Keep tracer base class in tracer and move core support into the utils module.
Add a unstable-api guard to the tracer.h so that external modules would need to
acknowledge the status by setting GST_USE_UNSTABLE_API.
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
757d3400cd
latency: take stop time when buffer is handled
...
Now we meassure time from 'before buffer transfer on src' to when the 'buffer is processed on sink'.
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
111b18115a
tracers: add a new latency tracer
...
Add a new tracer with pushes extra events to meassure src-to-sink processing latency.
2015-10-05 20:59:39 +02:00
Stefan Sauer
db3686c14d
design: update design docs
...
Add new tracer idea.
2015-10-05 20:59:39 +02:00
Stefan Sauer
b90ee2a84c
gst-stats: use the rusage stats
...
Add cpuload info from rusage traces.
2015-10-05 20:59:39 +02:00
Stefan Sauer
fc9392c10f
rusage: add a new rusage tracer
...
The tracer hooks up to all probes and logs resource usage figures.
2015-10-05 20:59:39 +02:00
Stefan Sauer
ff7ba1eb8d
gst-stats: filter complete thread section if we have no pads
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
81e617fa70
stats: print thread key for stats and filter empty pad-sections
2015-10-05 20:59:39 +02:00
Stefan Sauer
f8390caf2c
stats: update buffer flags
...
Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer
flags.
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
2a01088079
tracer: use the same timebase as the logging
2015-10-05 20:59:39 +02:00