X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=plugins%2Futils%2Fplugin.c;h=d8fc45d39ba5b4ef8cbdf2f7986c549c5066874e;hb=09f603c6b62f388e3095dd3bfc0ad1c6194be7b4;hp=2934ad408eb5f1d0b3be27db812aac19ecd5b52f;hpb=64cadc660bbd0400df65da3534d28dbe59395ec7;p=babeltrace.git diff --git a/plugins/utils/plugin.c b/plugins/utils/plugin.c index 2934ad40..d8fc45d3 100644 --- a/plugins/utils/plugin.c +++ b/plugins/utils/plugin.c @@ -20,34 +20,64 @@ * 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("Utilities."); -BT_PLUGIN_AUTHOR("Philippe Proulx"); +BT_PLUGIN_DESCRIPTION("Graph utilities"); +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_ACCEPT_PORT_CONNECTION_METHOD(dummy, dummy_accept_port_connection); +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 */ -BT_PLUGIN_FILTER_COMPONENT_CLASS(trimmer, trimmer_iterator_get, - trimmer_iterator_next); +#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, - trimmer_iterator_init); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(trimmer, - trimmer_iterator_finalize); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_SEEK_TIME_METHOD(trimmer, - trimmer_iterator_seek_time); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(trimmer, + trimmer_iterator_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(trimmer, + trimmer_iterator_finalize); +#endif + +/* flt.utils.muxer */ +BT_PLUGIN_FILTER_COMPONENT_CLASS(muxer, muxer_msg_iter_next); +BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(muxer, + "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_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); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_SEEK_BEGINNING_METHOD(muxer, + muxer_msg_iter_seek_beginning); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_METHOD(muxer, + muxer_msg_iter_can_seek_beginning);