From: Simon Marchi Date: Mon, 11 Dec 2023 17:26:30 +0000 (-0500) Subject: src.ctf.lttng-live: make lttng_live_stream_iterator::name an std::string X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=e28ca55892c07d6c463a88d61881424c3610d650 src.ctf.lttng-live: make lttng_live_stream_iterator::name an std::string Signed-off-by: Simon Marchi Change-Id: I515319dc62f147e4423c9eadd3dc00648e46e789 Reviewed-on: https://review.lttng.org/c/babeltrace/+/8457 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12372 Tested-by: jenkins --- diff --git a/src/plugins/ctf/lttng-live/data-stream.cpp b/src/plugins/ctf/lttng-live/data-stream.cpp index 358768cb..4cfc7e0e 100644 --- a/src/plugins/ctf/lttng-live/data-stream.cpp +++ b/src/plugins/ctf/lttng-live/data-stream.cpp @@ -7,8 +7,9 @@ * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation */ +#include + #include -#include #include #include @@ -69,7 +70,7 @@ static bt_stream *medop_borrow_stream(bt_stream_class *stream_class, int64_t str BT_CPPLOGI_SPEC(lttng_live_stream->logger, "Creating stream {} (ID: {}) out of stream class {}", - lttng_live_stream->name->str, stream_id, stream_class_id); + lttng_live_stream->name, stream_id, stream_class_id); bt_stream *stream; @@ -92,12 +93,13 @@ static bt_stream *medop_borrow_stream(bt_stream_class *stream_class, int64_t str BT_CPPLOGE_APPEND_CAUSE_SPEC( lttng_live_stream->logger, "Cannot create stream {} (stream class ID {}, stream ID {})", - lttng_live_stream->name->str, stream_class_id, stream_id); + lttng_live_stream->name, stream_class_id, stream_id); return nullptr; } lttng_live_stream->stream = bt2::Stream::Shared::createWithoutRef(stream); - lttng_live_stream->stream->name(lttng_live_stream->name->str); + + lttng_live_stream->stream->name(lttng_live_stream->name); } return lttng_live_stream->stream->libObjPtr(); @@ -143,7 +145,7 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(struct lttng_live_sessi BT_CPPLOGD_SPEC(stream_iter->logger, "Creating CTF message iterator: session-id={}, ctf-tc-addr={}, " "stream-iter-name={}, self-msg-iter-addr={}", - session->id, fmt::ptr(ctf_tc), stream_iter->name->str, + session->id, fmt::ptr(ctf_tc), stream_iter->name, fmt::ptr(self_msg_iter)); stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, stream_iter, @@ -169,6 +171,7 @@ lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t c uint64_t stream_id, bt_self_message_iterator *self_msg_iter) { lttng_live_stream_iterator *stream_iter = nullptr; + std::stringstream nameSs; BT_ASSERT(session); BT_ASSERT(session->lttng_live_msg_iter); @@ -207,15 +210,9 @@ lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t c } } stream_iter->buf.resize(lttng_live->max_query_size); - stream_iter->name = g_string_new(NULL); - if (!stream_iter->name) { - BT_CPPLOGE_APPEND_CAUSE_SPEC(stream_iter->logger, - "Failed to allocate live stream iterator name buffer"); - goto error; - } - g_string_printf(stream_iter->name, STREAM_NAME_PREFIX "%" PRIu64, - stream_iter->viewer_stream_id); + nameSs << STREAM_NAME_PREFIX << stream_iter->viewer_stream_id; + stream_iter->name = nameSs.str(); g_ptr_array_add(trace->stream_iterators, stream_iter); /* Track the number of active stream iterator. */ @@ -235,10 +232,6 @@ void lttng_live_stream_iterator_destroy(struct lttng_live_stream_iterator *strea return; } - if (stream_iter->name) { - g_string_free(stream_iter->name, TRUE); - } - bt_message_put_ref(stream_iter->current_msg); /* Track the number of active stream iterator. */ diff --git a/src/plugins/ctf/lttng-live/lttng-live.cpp b/src/plugins/ctf/lttng-live/lttng-live.cpp index 331c8237..c60de2e3 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.cpp +++ b/src/plugins/ctf/lttng-live/lttng-live.cpp @@ -276,21 +276,19 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_da if (lttng_live_stream->trace->metadata_stream_state == LTTNG_LIVE_METADATA_STREAM_STATE_NEEDED) { - BT_CPPLOGD_SPEC( - lttng_live_msg_iter->logger, - "Need to get an update for the metadata stream before proceeding further with this stream: " - "stream-name=\"{}\"", - lttng_live_stream->name->str); + BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, + "Need to get an update for the metadata stream before proceeding " + "further with this stream: stream-name=\"{}\"", + lttng_live_stream->name); ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE; goto end; } if (lttng_live_stream->trace->session->new_streams_needed) { - BT_CPPLOGD_SPEC( - lttng_live_msg_iter->logger, - "Need to get an update of all streams before proceeding further with this stream: " - "stream-name=\"{}\"", - lttng_live_stream->name->str); + BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, + "Need to get an update of all streams before proceeding further " + "with this stream: stream-name=\"{}\"", + lttng_live_stream->name); ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE; goto end; } @@ -333,7 +331,7 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_da BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, "Setting live stream reading info: stream-name=\"{}\", " "viewer-stream-id={}, stream-base-offset={}, stream-offset={}, stream-len={}", - lttng_live_stream->name->str, lttng_live_stream->viewer_stream_id, + lttng_live_stream->name, lttng_live_stream->viewer_stream_id, lttng_live_stream->base_offset, lttng_live_stream->offset, lttng_live_stream->len); @@ -781,7 +779,7 @@ lttng_live_iterator_close_stream(struct lttng_live_msg_iter *lttng_live_msg_iter BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, "Closing live stream iterator: stream-name=\"{}\", " "viewer-stream-id={}", - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name, stream_iter->viewer_stream_id); /* * The viewer has hung up on us so we are closing the stream. The @@ -867,7 +865,7 @@ lttng_live_iterator_next_msg_on_stream(struct lttng_live_msg_iter *lttng_live_ms BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, "Advancing live stream iterator until next message if possible: " "stream-name=\"{}\", viewer-stream-id={}", - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name, stream_iter->viewer_stream_id); if (stream_iter->has_stream_hung_up) { /* @@ -932,7 +930,7 @@ end: BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, "Returning from advancing live stream iterator: status={}, " "stream-name=\"{}\", viewer-stream-id={}", - live_status, stream_iter->name->str, stream_iter->viewer_stream_id); + live_status, stream_iter->name, stream_iter->viewer_stream_id); return live_status; } @@ -1048,7 +1046,7 @@ handle_late_message(struct lttng_live_msg_iter *lttng_live_msg_iter, BT_CPPLOGD_SPEC(lttng_live_msg_iter->logger, "Handling late message on live stream iterator: " "stream-name=\"{}\", viewer-stream-id={}", - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name, stream_iter->viewer_stream_id); if (!stream_iter->last_inactivity_ts.is_set) { BT_CPPLOGE_APPEND_CAUSE_SPEC(lttng_live_msg_iter->logger, @@ -1187,7 +1185,7 @@ next_stream_iterator_for_trace(struct lttng_live_msg_iter *lttng_live_msg_iter, "Live stream iterator returned message: msg-type={}, " "stream-name=\"{}\", viewer-stream-id={}", static_cast(bt_message_get_type(msg)), - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name, stream_iter->viewer_stream_id); /* * Get the timestamp in nanoseconds from origin of this @@ -1218,8 +1216,8 @@ next_stream_iterator_for_trace(struct lttng_live_msg_iter *lttng_live_msg_iter, "lttng-live-msg-iter-addr={}, " "stream-name=\"{}\", " "curr-msg-ts={}, last-msg-ts={}", - fmt::ptr(lttng_live_msg_iter), - stream_iter->name->str, curr_msg_ts_ns, + fmt::ptr(lttng_live_msg_iter), stream_iter->name, + curr_msg_ts_ns, lttng_live_msg_iter->last_msg_ts_ns); stream_iter_status = LTTNG_LIVE_ITERATOR_STATUS_ERROR; goto end; diff --git a/src/plugins/ctf/lttng-live/lttng-live.hpp b/src/plugins/ctf/lttng-live/lttng-live.hpp index 8e1bb356..a4974f34 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.hpp +++ b/src/plugins/ctf/lttng-live/lttng-live.hpp @@ -129,8 +129,7 @@ struct lttng_live_stream_iterator std::vector buf; - /* Owned by this. */ - GString *name = nullptr; + std::string name; bool has_stream_hung_up = false; };