Move static variables to instance variables. Add finalize methods. Remove code that is commented out. Cleanup locking code.
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.
Parse the log and collect data from tracer messages.
This is more or less equiv to the the statistics in gst-tracelib.