X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Frotate.c;h=ec816315789b83ec5cedb9602db88dc2394fa522;hb=29bcf415306cac513618483defc4251bc49aa1c3;hp=312bbba9ccbf982a9f1a9ff65e592365ea276f3f;hpb=fd45e84df9cf09bbc716ad34aadfcfd78c38b7d4;p=lttng-tools.git diff --git a/src/bin/lttng/commands/rotate.c b/src/bin/lttng/commands/rotate.c index 312bbba9c..ec8163157 100644 --- a/src/bin/lttng/commands/rotate.c +++ b/src/bin/lttng/commands/rotate.c @@ -1,18 +1,8 @@ /* - * Copyright (C) 2017 - Julien Desfossez + * Copyright (C) 2017 Julien Desfossez * - * 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 published by the Free Software Foundation. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define _LGPL_SOURCE @@ -31,8 +21,7 @@ #include #include "../command.h" -#include -#include +#include static char *opt_session_name; static int opt_no_wait; @@ -57,101 +46,6 @@ static struct poptOption long_options[] = { {0, 0, 0, 0, 0, 0, 0} }; -static int output_trace_archive_location( - const struct lttng_trace_archive_location *location, - const char *session_name) -{ - int ret = 0; - enum lttng_trace_archive_location_type location_type; - enum lttng_trace_archive_location_status status; - bool printed_location = false; - - location_type = lttng_trace_archive_location_get_type(location); - - _MSG("Trace chunk archive for session %s is now readable", - session_name); - switch (location_type) { - case LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_LOCAL: - { - const char *absolute_path; - - status = lttng_trace_archive_location_local_get_absolute_path( - location, &absolute_path); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - MSG(" at %s", absolute_path); - printed_location = true; - break; - } - case LTTNG_TRACE_ARCHIVE_LOCATION_TYPE_RELAY: - { - uint16_t control_port, data_port; - const char *host, *relative_path, *protocol_str; - enum lttng_trace_archive_location_relay_protocol_type protocol; - - /* Fetch all relay location parameters. */ - status = lttng_trace_archive_location_relay_get_protocol_type( - location, &protocol); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - - status = lttng_trace_archive_location_relay_get_host( - location, &host); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - - status = lttng_trace_archive_location_relay_get_control_port( - location, &control_port); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - - status = lttng_trace_archive_location_relay_get_data_port( - location, &data_port); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - - status = lttng_trace_archive_location_relay_get_relative_path( - location, &relative_path); - if (status != LTTNG_TRACE_ARCHIVE_LOCATION_STATUS_OK) { - ret = -1; - goto end; - } - - switch (protocol) { - case LTTNG_TRACE_ARCHIVE_LOCATION_RELAY_PROTOCOL_TYPE_TCP: - protocol_str = "tcp"; - break; - default: - protocol_str = "unknown"; - break; - } - - MSG(" on relay %s://%s/%s [control port %" PRIu16 ", data port %" - PRIu16 "]", protocol_str, host, - relative_path, control_port, data_port); - printed_location = true; - break; - } - default: - break; - } -end: - if (!printed_location) { - MSG(" at an unknown location"); - } - return ret; -} - static int rotate_tracing(char *session_name) { int ret; @@ -193,21 +87,22 @@ static int rotate_tracing(char *session_name) rotation_status = lttng_rotation_handle_get_state(handle, &rotation_state); if (rotation_status != LTTNG_ROTATION_STATUS_OK) { + MSG(""); ERR("Failed to query the state of the rotation."); goto error; } if (rotation_state == LTTNG_ROTATION_STATE_ONGOING) { - ret = usleep(DEFAULT_DATA_AVAILABILITY_WAIT_TIME); + ret = usleep(DEFAULT_DATA_AVAILABILITY_WAIT_TIME_US); if (ret) { - PERROR("usleep"); + PERROR("\nusleep"); goto error; } _MSG("."); ret = fflush(stdout); if (ret) { - PERROR("fflush"); + PERROR("\nfflush"); goto error; } } @@ -239,7 +134,7 @@ skip_wait: } if (!lttng_opt_mi && print_location) { - ret = output_trace_archive_location(location, + ret = print_trace_archive_location(location, session_name); } else if (lttng_opt_mi) { ret = mi_lttng_rotate(writer, session_name, rotation_state,