X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmi-lttng.h;h=7f7e8b9f8649ae6ec2d6bb083bd6b37a10add82d;hp=55ea68d73b9b0c2468a9b4bfe8aa1852215f791f;hb=511ed4e25eeb6821dc4f4b6c573fbbdc07c17053;hpb=36d2e35df61339e4394e84ad9790b984d259e0f0 diff --git a/src/common/mi-lttng.h b/src/common/mi-lttng.h index 55ea68d73..7f7e8b9f8 100644 --- a/src/common/mi-lttng.h +++ b/src/common/mi-lttng.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2014 - Jonathan Rajotte * - Olivier Cotte + * Copyright (C) 2016 - Jérémie Galarneau * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License, version 2 only, as @@ -23,7 +24,7 @@ #include #include -#include +#include #include /* Don't want to reference snapshot-internal.h here */ @@ -52,7 +53,6 @@ struct mi_lttng_version { extern const char * const mi_lttng_element_command; extern const char * const mi_lttng_element_command_action; extern const char * const mi_lttng_element_command_add_context; -extern const char * const mi_lttng_element_command_calibrate; extern const char * const mi_lttng_element_command_create; extern const char * const mi_lttng_element_command_destroy; extern const char * const mi_lttng_element_command_disable_channel; @@ -61,6 +61,10 @@ extern const char * const mi_lttng_element_command_enable_channels; extern const char * const mi_lttng_element_command_enable_event; extern const char * const mi_lttng_element_command_list; extern const char * const mi_lttng_element_command_load; +extern const char * const mi_lttng_element_command_metadata; +extern const char * const mi_lttng_element_command_metadata_action; +extern const char * const mi_lttng_element_command_regenerate; +extern const char * const mi_lttng_element_command_regenerate_action; extern const char * const mi_lttng_element_command_name; extern const char * const mi_lttng_element_command_output; extern const char * const mi_lttng_element_command_save; @@ -76,6 +80,10 @@ extern const char * const mi_lttng_element_command_success; extern const char * const mi_lttng_element_command_track; extern const char * const mi_lttng_element_command_untrack; extern const char * const mi_lttng_element_command_version; +extern const char * const mi_lttng_element_command_rotate; +extern const char * const mi_lttng_element_command_enable_rotation; +extern const char * const mi_lttng_element_command_disable_rotation; +extern const char * const mi_lttng_element_command_clear; /* Strings related to version command */ extern const char * const mi_lttng_element_version; @@ -92,11 +100,6 @@ extern const char * const mi_lttng_element_version_web; extern const char * const mi_lttng_element_event_field; extern const char * const mi_lttng_element_event_fields; -/* String related to lttng_event_context */ -extern const char * const mi_lttng_context_type_perf_counter; -extern const char * const mi_lttng_context_type_perf_cpu_counter; -extern const char * const mi_lttng_context_type_perf_thread_counter; - /* String related to lttng_event_perf_counter_ctx */ extern const char * const mi_lttng_element_perf_counter_context; @@ -108,6 +111,8 @@ extern const char * const mi_lttng_element_save; /* Strings related to load command */ extern const char * const mi_lttng_element_load; +LTTNG_HIDDEN const char * const mi_lttng_element_load_overrides; +LTTNG_HIDDEN const char * const mi_lttng_element_load_override_url; /* General element of mi_lttng */ extern const char * const mi_lttng_element_empty; @@ -173,10 +178,6 @@ extern const char * const mi_lttng_loglevel_type_range; extern const char * const mi_lttng_loglevel_type_single; extern const char * const mi_lttng_loglevel_type_unknown; -/* Sting related to lttng_calibrate */ -extern const char * const mi_lttng_element_calibrate; -extern const char * const mi_lttng_element_calibrate_function; - /* String related to a lttng_snapshot */ extern const char * const mi_lttng_element_snapshot_ctrl_url; extern const char * const mi_lttng_element_snapshot_data_url; @@ -185,16 +186,54 @@ extern const char * const mi_lttng_element_snapshot_n_ptr; extern const char * const mi_lttng_element_snapshot_session_name; extern const char * const mi_lttng_element_snapshots; +/* String related to track/untrack command */ +const char * const mi_lttng_element_track_untrack_all_wildcard; + +LTTNG_HIDDEN const char * const mi_lttng_element_session_name; + +/* String related to rotate command */ +LTTNG_HIDDEN const char * const mi_lttng_element_rotation; +LTTNG_HIDDEN const char * const mi_lttng_element_rotate_status; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedules; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_periodic; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_periodic_time_us; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_size_threshold; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_size_threshold_bytes; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_result; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_results; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_state; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_local; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_local_absolute_path; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_host; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_control_port; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_data_port; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_protocol; +LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_relative_path; + +/* String related to enum lttng_rotation_state */ +LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_ongoing; +LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_completed; +LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_expired; +LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_error; + +/* String related to enum lttng_trace_archive_location_relay_protocol_type */ +LTTNG_HIDDEN const char * const mi_lttng_rotation_location_relay_protocol_str_tcp; + +/* String related to add-context command */ +LTTNG_HIDDEN extern const char * const mi_lttng_element_context_symbol; + /* Utility string function */ const char *mi_lttng_loglevel_string(int value, enum lttng_domain_type domain); const char *mi_lttng_logleveltype_string(enum lttng_loglevel_type value); const char *mi_lttng_eventfieldtype_string(enum lttng_event_field_type value); const char *mi_lttng_domaintype_string(enum lttng_domain_type value); const char *mi_lttng_buffertype_string(enum lttng_buffer_type value); -const char *mi_lttng_calibratetype_string(enum lttng_calibrate_type val); - -/* String related to track/untrack command */ -const char * const mi_lttng_element_track_untrack_all_wildcard; +const char *mi_lttng_rotation_state_string(enum lttng_rotation_state value); +const char *mi_lttng_trace_archive_location_relay_protocol_type_string( + enum lttng_trace_archive_location_relay_protocol_type value); /* * Create an instance of a machine interface writer. @@ -654,19 +693,6 @@ int mi_lttng_targets_open(struct mi_writer *writer); */ int mi_lttng_pid_target(struct mi_writer *writer, pid_t pid, int is_open); -/* - * Machine interface for struct lttng_calibrate. - * - * writer An instance of a machine interface writer. - * - * calibrate A lttng_calibrate instance. - * - * Returns zero if the element's value could be written. - * Negative values indicate an error. - */ -int mi_lttng_calibrate(struct mi_writer *writer, - struct lttng_calibrate *calibrate); - /* * Machine interface of a context. * @@ -809,4 +835,67 @@ int mi_lttng_snapshot_record(struct mi_writer *writer, const char *current_session_name, const char *url, const char *cmdline_ctrl_url, const char *cmdline_data_url); +/* + * Machine interface representation of a session rotation schedule. + * + * The machine interface serializes the provided schedule as one of the choices + * from 'rotation_schedule_type'. + * + * writer: An instance of a machine interface writer. + * + * schedule: An lttng rotation schedule descriptor object. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_rotation_schedule(struct mi_writer *writer, + const struct lttng_rotation_schedule *schedule); + +/* + * Machine interface of a session rotation schedule result. + * This is an element that is part of the output of the enable-rotation and + * disable-rotation commands. + * + * The machine interface provides the following information: + * - schedule: the session rotation schedule descriptor. + * - success: whether the sub-command succeeded. + * + * writer: An instance of a machine interface writer. + * + * schedule: An lttng rotation schedule descriptor object. + * + * success: Whether the sub-command suceeded. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_rotation_schedule_result(struct mi_writer *writer, + const struct lttng_rotation_schedule *schedule, + bool success); + +/* + * Machine interface of a session rotation result. + * This is an element that is part of the output of the rotate command. + * + * The machine interface provides the following information: + * - session_name: the session to be rotated. + * - state: the session rotation state. + * - location: the location of the completed chunk archive. + * + * writer: An instance of a machine interface writer. + * + * session_name: The session to which the rotate command applies. + * + * location: A location descriptor object. + * + * success: Whether the sub-command suceeded. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_rotate(struct mi_writer *writer, + const char *session_name, + enum lttng_rotation_state rotation_state, + const struct lttng_trace_archive_location *location); + #endif /* _MI_LTTNG_H */