tree: 9c7dbeae60a2294d1fa23d09b247154bdb07ee5b [path history] [tgz]
  1. include/
  2. fdio_connect.cpp
  3. handler.cpp
  4. MAINTAINERS
  5. provider_impl.cpp
  6. provider_impl.h
  7. provider_with_fdio.cpp
  8. README.md
  9. rules.mk
  10. session.cpp
  11. session.h
  12. trace_provider.fidl.client.cpp
  13. trace_provider.fidl.h
  14. trace_provider.fidl.tables.cpp
  15. utils.cpp
  16. utils.h
system/ulib/trace-provider/README.md

Trace Provider Library

A static library for publishing a trace provider. The trace manager connects to trace providers to collect trace records from running programs.

To register the trace provider, the program must call trace_provider_create() at some point during its startup sequence. The trace provider will take care of starting and stopping the trace engine in response to requests from the trace manager.

trace-provider-with-static-engine

This library exists for very special cases, and in general should not be used.

To use it, you will need to provide your own connection with trace-manager. This library does not come with the fdio support that the “normal” version of this library uses. See fdio_connect.cpp in this directory for boilerplate of what needs to be done. Then when you have the handle to trace-manager, call trace_provider_create_with_name_etc().

trace_provider_t* trace_provider_create_with_name_etc(
        zx_handle_t to_service_h, async_dispatcher_t* dispatcher,
        const char* name);

N.B. This function will get renamed to remove the _etc suffix when all callers have been updated to call trace_provider_create_with_name_fdio() instead of trace_provider_create_with_name(). PT-63.

You will need to add these dependencies to your BUILD.gn file:

    "//zircon/public/lib/trace-with-static-engine",
    "//zircon/public/lib/trace-provider-with-static-engine",