[lttng-dev] clarification about the "provider name" argument

Sébastien Barthélémy barthelemy at crans.org
Thu Sep 27 08:23:35 EDT 2012


A tracepoint is defined with a declaration like

      TRACEPOINT_EVENT(
            provider_name,
            tracepoint_name,
            TP_ARG(),
            TP_FIELDS())

I wonder what is the meaning and the role of the "provider_name" argument.

In other words, what is the "provider" that we name here?

Is it the instrumented component which will generate (provide?) the events ?
Or is it the probes provider (the library which we LD_PRELOAD when tracing) ?

Note that at some places the provider name argument is also named component_name
or domain (this last is in lttng-gen-tp source code).

A related question is about the constraints on the "provider name"
given in the tracepoints definition file.
For instance, is it legit to have two files which define different
tracepoints with the same provider name, and with two distinct probes
provider libraries

Something like tp0.h:

      TRACEPOINT_EVENT(
            provider_name,
            tracepoint_name0,
            TP_ARG(),
            TP_FIELDS())

and tp1.h:

      TRACEPOINT_EVENT(
            provider_name,
            tracepoint_name1,
            TP_ARG(),
            TP_FIELDS())

Thanks!



More information about the lttng-dev mailing list