* Venkatesh Babu Chitlur Srinivasa (vchitlur) ([email protected]) wrote: > CTF v1.7 which was published earlier talks about compound data types > (struct, variant, array, sequence, strings) in section 4.2. What are the > APIs to specify these compound data types with markers and trace points > ? Since markers relies on the format string to specify the data type, it > may not be possible. So is it only supported with trace points as these > compound data types can be passed as function arguments ?
Hi Venkatesh, As you noticed, there is nothing part of the Markers that allows recording compound data types, and nothing is planned in this respect. Markers are more of a "debug-only" type of interface. However, Tracepoints and TRACE_EVENT macros sitting on top of Tracepoints are currently able to serialize dynamic arrays (sequences) and statically-sized arrays (arrays). They will eventually also be able to serialize structures received as parameter into an event field. The way I envision supporting structure serialization within TRACE_EVENT is by wrapping the structure declaration in a macro, and allowing the tracer to gather the textual C-code description of the structure. Given that CTF metadata is C99-compatible, we should be able to read and understand the C structure from its C declaration copied into the CTF metadata. For now, variants will be mainly used to serialize the event header in a very compact way, which is internal to the tracer. Maybe we'll find a way to add support for it to TRACE_EVENT field types eventually. Please don't hesitate to ask if you have more questions, your feedback is very much appreciated, Thanks, Mathieu > > Regards, > > VBabu > > _______________________________________________ > ltt-dev mailing list > [email protected] > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
