Installs or uninstalls a tracer configuration callback function.
cobrtncode_t cobctf_tracer_notify(cobuns32_t install_function, NOTIF_INSTALL *notif_install)
install_function | The operation to perform:
|
||||||
trace_event | Trace event structure: | ||||||
version | Structure version. Must be 0. | ||||||
handle | Handle of component tracer (returned from a call to CBL_CTF_TRACER_GET) for which a callback is to be installed or uninstalled. | ||||||
callback | Callback function to install (if install-function is 0) or uninstall (if install-function is 1). | ||||||
cobrtncode_t | One of:
|
A tracer configuration callback function is installed by a component to allow it to be notified when any configuration change to the associated tracer occurs, such as a threshold level change, or property value change.
To acquire a tracer handle to trace "mycomp" component events, and install a callback to handle threshold level and property change notifications:
#include "mfctf.h" some_func() { const cobuns8_t *component_id = "mycomp"; NOTIF_INSTALL notif_install; cobuns32_t tracer_handle; ... /* ** Acquire tracer handle */ CBL_CTF_TRACER_GET(CTF_FLAG_COMP_NAME_NULL_TERM, component_id, (cbl_x4_comp5_t *)&tracer_handle); ... /* ** Install callback function */ memset(¬if_install, 0, sizeof(notif_install)); notif_install.handle = tracer_handle; notif_install.callback = my_callback; cobctf_tracer_notify(0, ¬if_install); ... } /* ** The callback function to handle trace level and property ** changes */ void my_callback(cobuns32_t tracer_handle, cobuns32_t notif_type, void *notif_info) { switch(notif_type) { case TRACER_NOTIF_TYPE_PROP_CHANGE: break; case TRACER_NOTIF_TYPE_LEVEL_CHANGE: break; } }