[lttng-dev] Correct way to use the tpl file
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Fri Nov 30 12:12:43 EST 2018
----- On Nov 30, 2018, at 11:09 AM, John OSullivan <John.OSullivan at BlackBox.com> wrote:
> Hi,
> I am looking for some advice on the best way to manage the tracing of some user
> space events.
> I have a series of events that are fed to queues, they look something like the
> following sample
> EventEnd* event_end_new()
> {
> EventEnd* event_end = bb_xnew(EventEnd,__func__);
> if (event_end != NULL)
> {
> event_end->type = EQ_EVENT_END;
> . .. other event specific fields here
> ..
> }
> #ifdef LTTNG_TRACE
> tracepoint(core_event_trace, end_event_tracepoint, EQ_EVENT_END);
> #endif
> return event_end;
> }
> I want to try and trace these so created the following template shown below. My
> question is, does the class have to have all of the possible members that the
> different instances will have, as each unique event is likely to have different
> members will the class have to have all of these members defines, and if this
> is the case is it okay for an instance to just implement a subset of the
> members the class defines?
I am a bit confused by your use of the word "members" here. A tracepoint class has a provider name,
a class name, input argument, and output fields.
The event instance refers to the class by provider and class name, defines its own name, and needs to
have a compatible input argument prototype (same number of arguments, same types). It will serialize
the output fields in the exact layout described by the event class.
I know it does not directly answer your question, but I'm really unsure about what you mean
by "members".
Thanks,
Mathieu
> TRACEPOINT_EVENT_CLASS(
> /* Tracepoint provider name */
> core_event_trace,
> /* Tracepoint class name */
> core_event_tracepoint_class,
> /* Input arguments */
> TP_ARGS(
> int, event_type
> ),
> /* Output event fields */
> TP_FIELDS(
> ctf_integer(int, event_type, event_type)
> )
> )
> TRACEPOINT_EVENT_INSTANCE(
> core_event_trace,
> core_event_tracepoint_class,
> end_event_tracepoint,
> TP_ARGS(
> int, event_type
> )
> )
> TRACEPOINT_EVENT_INSTANCE(
> core_event_trace,
> core_event_tracepoint_class,
> start_event_tracepoint,
> TP_ARGS(
> int, event_type
> )
> )
> TRACEPOINT_EVENT_INSTANCE(
> core_event_trace,
> core_event_tracepoint_class,
> foo_event_tracepoint,
> TP_ARGS(
> int, event_type
> )
> )
> This email and any files transmitted with it are confidential and are intended
> for the sole use of the individual to whom they are addressed. Black Box
> Corporation reserves the right to scan all e-mail traffic for restricted
> content and to monitor all e-mail in general. If you are not the intended
> recipient or you have received this email in error, any use, dissemination or
> forwarding of this email is strictly prohibited. If you have received this
> email in error, please notify the sender by replying to this email.
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20181130/fa6c07d3/attachment.html>
More information about the lttng-dev
mailing list