Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [ltt-dev] [RFC] New UST 2.0 Tracepoint Event API : TRACEPOINT_FORMAT
@ 2011-08-31 16:36 Mathieu Desnoyers
  2011-09-01 14:25 ` Cruickshank, Brian
  0 siblings, 1 reply; 3+ messages in thread
From: Mathieu Desnoyers @ 2011-08-31 16:36 UTC (permalink / raw)


Hi,

I've been informed that support for a per-tracepoint format string would
be welcomed by many. I would prefer not to make formats strings a
requirement, but rather an optional feature. I am considering the
following API:

TRACEPOINT_FORMAT(tracepoint_name,
        "text describing a format string with args like %s and also %d",
        fieldname_1, fieldname_2)

where fieldname_* refer to the name of the fields declared in the
tracepoint (NOT the tracepoint arguments!).

e.g.

TRACEPOINT_EVENT(ust_tests_hello_tptest,
        TP_PROTO(int anint, long along, char *text)
        TP_ARGS(anint, along, text)
        TP_FIELDS(
                ctf_integer(int, intfield, anint)
                ctf_integer(long, longfield, along)
                ctf_string(stringfield, text)
        )
)

TRACEPOINT_FORMAT(tracepoint_name,
        "some message %d and more %s",
        intfield, stringfield)

Having some level of automated compiler-level type checking for the
format string in there might be a nice to have, but might be rather
tricky, and could change the API slightly as I proceed to the
implementation.

Thoughts ?

Thanks,

Mathieu


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-09-01 17:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-31 16:36 [ltt-dev] [RFC] New UST 2.0 Tracepoint Event API : TRACEPOINT_FORMAT Mathieu Desnoyers
2011-09-01 14:25 ` Cruickshank, Brian
2011-09-01 17:33   ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox