File: lttngtest-plugin.cpp

package info (click to toggle)
ltt-control 2.15.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,744 kB
  • sloc: cpp: 207,706; sh: 28,837; python: 18,952; ansic: 11,636; makefile: 3,362; java: 109; xml: 46
file content (78 lines) | stat: -rw-r--r-- 3,057 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
 * SPDX-FileCopyrightText: 2023 Kienan Stewart <kstewart@efficios.com>
 *
 * SPDX-License-Identifier: LGPL-2.1-only
 *
 */

#include "event_name/event_name.hpp"
#include "field_stats/field_stats.hpp"

#include <babeltrace2/babeltrace.h>

namespace {

bt_component_class_get_supported_mip_versions_method_status
add_supported_mip_versions(bt_integer_range_set_unsigned *const supported_versions)
{
	if (bt_integer_range_set_unsigned_add_range(supported_versions, 0, 1) !=
	    BT_INTEGER_RANGE_SET_ADD_RANGE_STATUS_OK) {
		return BT_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_STATUS_MEMORY_ERROR;
	}

	return BT_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_STATUS_OK;
}

bt_component_class_get_supported_mip_versions_method_status
event_name_get_supported_mip_versions(bt_self_component_class_filter *,
				      const bt_value *,
				      void *,
				      bt_logging_level,
				      bt_integer_range_set_unsigned *const supported_versions)
{
	return add_supported_mip_versions(supported_versions);
}

bt_component_class_get_supported_mip_versions_method_status
field_stats_get_supported_mip_versions(bt_self_component_class_sink *,
				       const bt_value *,
				       void *,
				       bt_logging_level,
				       bt_integer_range_set_unsigned *const supported_versions)
{
	return add_supported_mip_versions(supported_versions);
}

} /* namespace */

BT_PLUGIN_MODULE();

BT_PLUGIN(lttngtest);
BT_PLUGIN_DESCRIPTION("Filter and sink used in lttng-tools test suite");
BT_PLUGIN_AUTHOR("Kienan Stewart");
BT_PLUGIN_LICENSE("LGPL-2.1-only");

/* flt.lttngtest.event_name */
/* Filter class to pass events matching given names */
BT_PLUGIN_FILTER_COMPONENT_CLASS(event_name, event_name_message_iterator_next);
BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(event_name, "Filter events by tracepoint name(s)");
BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD(event_name, event_name_initialize);
BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(event_name, event_name_finalize);
BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(
	event_name, event_name_message_iterator_initialize);
BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(
	event_name, event_name_message_iterator_finalize);
BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(
	event_name, event_name_get_supported_mip_versions);

/* sink.lttngtest.field_stats */
/* Sink class to produce certain statistics for seen fields */
BT_PLUGIN_SINK_COMPONENT_CLASS(field_stats, field_stats_consume);
BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(field_stats,
					   "Track minimum and maxiumum values of seen fields");
BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD(field_stats, field_stats_initialize);
BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(field_stats, field_stats_finalize);
BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD(field_stats,
							  field_stats_graph_is_configured);
BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(
	field_stats, field_stats_get_supported_mip_versions);