flt.utils.muxer: use a heap to sort iterators (also: rewrite in C++)
[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_H
8 #define BABELTRACE_PLUGINS_UTILS_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_initialize_method_status counter_init(
42 bt_self_component_sink *component,
43 bt_self_component_sink_configuration *config,
44 const bt_value *params, void *init_method_data);
45
46 void counter_finalize(bt_self_component_sink *component);
47
48 bt_component_class_sink_graph_is_configured_method_status counter_graph_is_configured(
49 bt_self_component_sink *component);
50
51 bt_component_class_sink_consume_method_status counter_consume(bt_self_component_sink *component);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /* BABELTRACE_PLUGINS_UTILS_COUNTER_H */
This page took 0.045526 seconds and 4 git commands to generate.