b52cbc4698129670b224c5e1c803980399931041
[babeltrace.git] / src / plugins / utils / counter / counter.h
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright 2017 Philippe Proulx <pproulx@efficios.com>
5 */
6
7 #ifndef BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H
8 #define BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H
9
10 #include <glib.h>
11 #include <babeltrace2/babeltrace.h>
12 #include <stdbool.h>
13 #include <stdint.h>
14 #include "common/macros.h"
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 struct counter {
21 bt_message_iterator *msg_iter;
22 struct {
23 uint64_t event;
24 uint64_t stream_begin;
25 uint64_t stream_end;
26 uint64_t packet_begin;
27 uint64_t packet_end;
28 uint64_t disc_events;
29 uint64_t disc_packets;
30 uint64_t msg_iter_inactivity;
31 uint64_t other;
32 } count;
33 uint64_t last_printed_total;
34 uint64_t at;
35 uint64_t step;
36 bool hide_zero;
37 bt_logging_level log_level;
38 bt_self_component *self_comp;
39 };
40
41 bt_component_class_get_supported_mip_versions_method_status
42 counter_supported_mip_versions(bt_self_component_class_sink *self_component_class,
43 const bt_value *params, void *initialize_method_data,
44 bt_logging_level logging_level,
45 bt_integer_range_set_unsigned *supported_versions);
46
47 bt_component_class_initialize_method_status counter_init(
48 bt_self_component_sink *component,
49 bt_self_component_sink_configuration *config,
50 const bt_value *params, void *init_method_data);
51
52 void counter_finalize(bt_self_component_sink *component);
53
54 bt_component_class_sink_graph_is_configured_method_status counter_graph_is_configured(
55 bt_self_component_sink *component);
56
57 bt_component_class_sink_consume_method_status counter_consume(bt_self_component_sink *component);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif /* BABELTRACE_PLUGINS_UTILS_COUNTER_COUNTER_H */
This page took 0.031952 seconds and 5 git commands to generate.