---------------------------------------------------------------------- Date: Fri, 17 Oct 2014 21:39:21 +0000 From: "Boisvert, Sebastien" <boisv...@anl.gov>
> I wrote a big .tp file to define numerous tracepoints that only differ in the > event name. > They all take the same arguments and they all dump the same fields. > > .tp file: > https://github.com/sebhtml/biosal/blob/master/engine/thorium/tracepoints/lttng/message.tp > > Is there a more compact way of doing that ? > > Sébastien ---------------------------------------------------------------------- In the kernel domain, one can declare a "tracepoint class" with DECLARE_EVENT_CLASS, and then use DEFINE_EVENT to instantiate the abstract event class into individual trace events that share a single signature. Surely the same can be done in user-space? Looking at /usr/src/lttng-ust/include/lttng/tracepoint.h, we see there are TRACEPOINT_EVENT_CLASS and TRACEPOINT_EVENT_INSTANCE macros right beside TRACEPOINT_EVENT, so I suspect you could replace your message.tp with something like: [...] TRACEPOINT_EVENT_CLASS( thorium_message, thorium_event_template, TP_ARGS( struct thorium_message *, message ), TP_FIELDS( ctf_integer(int, message_number, message->number) ctf_integer(int, message_action, message->action) ctf_integer(int, message_count, message->count) ctf_integer(int, message_source_actor, message->source_actor) ctf_integer(int, message_destination_actor, message->destination_actor) ctf_integer(int, message_source_node, message->source_node) ctf_integer(int, message_destination_node, message->destination_node) ) ) TRACEPOINT_EVENT_INSTANCE( thorium_message, thorium_event_template, actor_send, TP_ARGS( struct thorium_message *, message ) ) TRACEPOINT_EVENT_INSTANCE( thorium_message, thorium_event_template, node_send, TP_ARGS( struct thorium_message *, message ) ) [...] Try it and let us know. This should be added to the lttng-gen-tp man pages if it works. Daniel U. Thibault Protection des systèmes et contremesures (PSC) | Systems Protection & Countermeasures (SPC) Cyber sécurité pour les missions essentielles (CME) | Mission Critical Cyber Security (MCCS) RDDC - Centre de recherches de Valcartier | DRDC - Valcartier Research Centre 2459 route de la Bravoure Québec QC G3J 1X5 CANADA Vox : (418) 844-4000 x4245 Fax : (418) 844-4538 NAC : 918V QSDJ <http://www.travelgis.com/map.asp?addr=918V%20QSDJ> Gouvernement du Canada | Government of Canada <http://www.valcartier.drdc-rddc.gc.ca/> _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev