X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=plugins%2Futils%2Fplugin.c;h=bec501d9bde1cdb84dd81d2ba7bf12e93ec80e69;hb=d6e69534ef08a2dd8bff9eb5af1eab63736b3d31;hp=3f596299e8833784690b0a055dd64b711b5feb34;hpb=958f7d11c42386032407496d346a0fedf77d6950;p=babeltrace.git diff --git a/plugins/utils/plugin.c b/plugins/utils/plugin.c index 3f596299..bec501d9 100644 --- a/plugins/utils/plugin.c +++ b/plugins/utils/plugin.c @@ -20,50 +20,62 @@ * SOFTWARE. */ -#include +#include #include "dummy/dummy.h" -#include "trimmer/trimmer.h" -#include "trimmer/iterator.h" +#include "counter/counter.h" #include "muxer/muxer.h" +#ifndef BT_BUILT_IN_PLUGINS +BT_PLUGIN_MODULE(); +#endif + BT_PLUGIN(utils); BT_PLUGIN_DESCRIPTION("Graph utilities"); -BT_PLUGIN_AUTHOR("Julien Desfossez, Philippe Proulx"); +BT_PLUGIN_AUTHOR("Julien Desfossez, Jérémie Galarneau, Philippe Proulx"); BT_PLUGIN_LICENSE("MIT"); -/* dummy sink */ +/* sink.utils.dummy */ BT_PLUGIN_SINK_COMPONENT_CLASS(dummy, dummy_consume); BT_PLUGIN_SINK_COMPONENT_CLASS_INIT_METHOD(dummy, dummy_init); BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(dummy, dummy_finalize); -BT_PLUGIN_SINK_COMPONENT_CLASS_PORT_CONNECTED_METHOD(dummy, +BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(dummy, dummy_port_connected); BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(dummy, - "Dummy sink component class: does absolutely nothing!"); + "Consume messages and discard them."); + +/* sink.utils.counter */ +BT_PLUGIN_SINK_COMPONENT_CLASS(counter, counter_consume); +BT_PLUGIN_SINK_COMPONENT_CLASS_INIT_METHOD(counter, counter_init); +BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(counter, counter_finalize); +BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(counter, + counter_port_connected); +BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(counter, + "Count messages and print the results."); -/* trimmer filter */ +#if 0 +/* flt.utils.trimmer */ BT_PLUGIN_FILTER_COMPONENT_CLASS(trimmer, trimmer_iterator_next); BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(trimmer, - "Ensure that trace notifications outside of a given range are filtered-out."); + "Keep messages that occur within a specific time range."); BT_PLUGIN_FILTER_COMPONENT_CLASS_INIT_METHOD(trimmer, trimmer_component_init); BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(trimmer, finalize_trimmer); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_INIT_METHOD(trimmer, +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(trimmer, trimmer_iterator_init); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(trimmer, +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(trimmer, trimmer_iterator_finalize); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_SEEK_TIME_METHOD(trimmer, - trimmer_iterator_seek_time); +#endif -/* muxer filter */ -BT_PLUGIN_FILTER_COMPONENT_CLASS(muxer, muxer_notif_iter_next); +/* flt.utils.muxer */ +BT_PLUGIN_FILTER_COMPONENT_CLASS(muxer, muxer_msg_iter_next); BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(muxer, - "Notification multiplexer"); + "Sort messages from multiple input ports to a single output port by time."); BT_PLUGIN_FILTER_COMPONENT_CLASS_INIT_METHOD(muxer, muxer_init); BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(muxer, muxer_finalize); -BT_PLUGIN_FILTER_COMPONENT_CLASS_PORT_DISCONNECTED_METHOD(muxer, - muxer_port_disconnected); -BT_PLUGIN_FILTER_COMPONENT_CLASS_PORT_CONNECTED_METHOD(muxer, - muxer_port_connected); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_INIT_METHOD(muxer, - muxer_notif_iter_init); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(muxer, - muxer_notif_iter_finalize); +BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_DISCONNECTED_METHOD(muxer, + muxer_input_port_disconnected); +BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(muxer, + muxer_input_port_connected); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(muxer, + muxer_msg_iter_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(muxer, + muxer_msg_iter_finalize);