2 * SPDX-License-Identifier: MIT
4 * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
7 #ifndef BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H
8 #define BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H
13 #include "common/macros.h"
14 #include <babeltrace2/babeltrace.h>
22 enum pretty_color_option
{
23 PRETTY_COLOR_OPT_NEVER
,
24 PRETTY_COLOR_OPT_AUTO
,
25 PRETTY_COLOR_OPT_ALWAYS
,
28 struct pretty_options
{
31 enum pretty_default name_default
;
32 enum pretty_default field_default
;
34 bool print_scope_field_names
;
35 bool print_header_field_names
;
36 bool print_context_field_names
;
37 bool print_payload_field_names
;
39 bool print_delta_field
;
40 bool print_loglevel_field
;
42 bool print_callsite_field
;
43 bool print_trace_field
;
44 bool print_trace_domain_field
;
45 bool print_trace_procname_field
;
46 bool print_trace_vpid_field
;
47 bool print_trace_hostname_field
;
49 bool print_timestamp_cycles
;
53 enum pretty_color_option color
;
57 struct pretty_component
{
58 struct pretty_options options
;
59 bt_message_iterator
*iterator
;
61 int depth
; /* nesting, used for tabulation alignment. */
67 uint64_t last_cycles_timestamp
;
68 uint64_t delta_cycles
;
70 uint64_t last_real_timestamp
;
71 uint64_t delta_real_timestamp
;
73 bool negative_timestamp_warning_done
;
75 bt_logging_level log_level
;
76 bt_self_component
*self_comp
;
80 bt_component_class_initialize_method_status
pretty_init(
81 bt_self_component_sink
*component
,
82 bt_self_component_sink_configuration
*config
,
83 const bt_value
*params
,
84 void *init_method_data
);
87 bt_component_class_sink_consume_method_status
pretty_consume(
88 bt_self_component_sink
*component
);
91 bt_component_class_sink_graph_is_configured_method_status
pretty_graph_is_configured(
92 bt_self_component_sink
*component
);
95 void pretty_finalize(bt_self_component_sink
*component
);
98 int pretty_print_event(struct pretty_component
*pretty
,
99 const bt_message
*event_msg
);
102 int pretty_print_discarded_items(struct pretty_component
*pretty
,
103 const bt_message
*msg
);
106 void pretty_print_init(void);
108 #endif /* BABELTRACE_PLUGIN_TEXT_PRETTY_PRETTY_H */