From: Simon Marchi Date: Tue, 26 Jul 2022 22:26:30 +0000 (-0400) Subject: src.ctf.lttng-live: make lttng_live_stream_iterator::name an std::string X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=dff1c22340218289dcb03e93cf7fe10a76b8e042;p=deliverable%2Fbabeltrace.git 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 --- diff --git a/src/plugins/ctf/lttng-live/data-stream.cpp b/src/plugins/ctf/lttng-live/data-stream.cpp index 0ce563676..4ad282942 100644 --- a/src/plugins/ctf/lttng-live/data-stream.cpp +++ b/src/plugins/ctf/lttng-live/data-stream.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include @@ -74,7 +75,7 @@ static bt_stream *medop_borrow_stream(bt_stream_class *stream_class, int64_t str BT_CLOGI("Creating stream %s (ID: %" PRIu64 ") out of stream " "class %" PRId64, - lttng_live_stream->name->str, stream_id, stream_class_id); + lttng_live_stream->name.c_str(), stream_id, stream_class_id); bt_stream *stream; @@ -97,13 +98,13 @@ static bt_stream *medop_borrow_stream(bt_stream_class *stream_class, int64_t str if (!stream) { BT_CLOGE_APPEND_CAUSE("Cannot create stream %s (stream class ID " "%" PRId64 ", stream ID %" PRIu64 ")", - lttng_live_stream->name->str, stream_class_id, stream_id); + lttng_live_stream->name.c_str(), 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(); @@ -150,7 +151,7 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(struct lttng_live_sessi BT_CLOGD("Creating CTF message iterator: " "session-id=%" PRIu64 ", ctf-tc-addr=%p, " "stream-iter-name=%s, self-msg-iter-addr=%p", - session->id, ctf_tc, stream_iter->name->str, self_msg_iter); + session->id, ctf_tc, stream_iter->name.c_str(), self_msg_iter); stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, stream_iter, self_msg_iter, logCfg); if (!stream_iter->msg_iter) { @@ -175,6 +176,7 @@ lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t c { struct lttng_live_component *lttng_live; struct lttng_live_trace *trace; + std::stringstream nameSs; BT_ASSERT(session); BT_ASSERT(session->lttng_live_msg_iter); @@ -213,14 +215,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_CLOGE_APPEND_CAUSE("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. */ @@ -241,10 +238,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 a37cbfa1f..615e4c2e4 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.cpp +++ b/src/plugins/ctf/lttng-live/lttng-live.cpp @@ -347,7 +347,7 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_da BT_CLOGD( "Need to get an update for the metadata stream before proceeding further with this stream: " "stream-name=\"%s\"", - lttng_live_stream->name->str); + lttng_live_stream->name.c_str()); ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE; goto end; } @@ -355,7 +355,7 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_da if (lttng_live_stream->trace->session->new_streams_needed) { BT_CLOGD("Need to get an update of all streams before proceeding further with this stream: " "stream-name=\"%s\"", - lttng_live_stream->name->str); + lttng_live_stream->name.c_str()); ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE; goto end; } @@ -398,7 +398,7 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_da BT_CLOGD("Setting live stream reading info: stream-name=\"%s\", " "viewer-stream-id=%" PRIu64 ", stream-base-offset=%" PRIu64 ", stream-offset=%" PRIu64 ", stream-len=%" PRIu64, - lttng_live_stream->name->str, lttng_live_stream->viewer_stream_id, + lttng_live_stream->name.c_str(), lttng_live_stream->viewer_stream_id, lttng_live_stream->base_offset, lttng_live_stream->offset, lttng_live_stream->len); end: @@ -831,7 +831,7 @@ lttng_live_iterator_close_stream(struct lttng_live_msg_iter *lttng_live_msg_iter BT_CLOGD("Closing live stream iterator: stream-name=\"%s\", " "viewer-stream-id=%" PRIu64, - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name.c_str(), stream_iter->viewer_stream_id); /* * The viewer has hung up on us so we are closing the stream. The @@ -915,7 +915,7 @@ lttng_live_iterator_next_msg_on_stream(struct lttng_live_msg_iter *lttng_live_ms BT_CLOGD("Advancing live stream iterator until next message if possible: " "stream-name=\"%s\", viewer-stream-id=%" PRIu64, - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name.c_str(), stream_iter->viewer_stream_id); if (stream_iter->has_stream_hung_up) { /* @@ -977,7 +977,7 @@ end: BT_CLOGD("Returning from advancing live stream iterator: status=%s, " "stream-name=\"%s\", viewer-stream-id=%" PRIu64, - lttng_live_iterator_status_string(live_status), stream_iter->name->str, + lttng_live_iterator_status_string(live_status), stream_iter->name.c_str(), stream_iter->viewer_stream_id); return live_status; @@ -1094,7 +1094,7 @@ handle_late_message(struct lttng_live_msg_iter *lttng_live_msg_iter, BT_CLOGD("Handling late message on live stream iterator: " "stream-name=\"%s\", viewer-stream-id=%" PRIu64, - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name.c_str(), stream_iter->viewer_stream_id); if (!stream_iter->last_inactivity_ts.is_set) { BT_CLOGE_APPEND_CAUSE("Invalid live stream state: " @@ -1228,7 +1228,7 @@ next_stream_iterator_for_trace(struct lttng_live_msg_iter *lttng_live_msg_iter, BT_CLOGD("Live stream iterator returned message: msg-type=%s, " "stream-name=\"%s\", viewer-stream-id=%" PRIu64, bt_common_message_type_string(bt_message_get_type(msg)), - stream_iter->name->str, stream_iter->viewer_stream_id); + stream_iter->name.c_str(), stream_iter->viewer_stream_id); /* * Get the timestamp in nanoseconds from origin of this @@ -1258,7 +1258,7 @@ next_stream_iterator_for_trace(struct lttng_live_msg_iter *lttng_live_msg_iter, "lttng-live-msg-iter-addr=%p, " "stream-name=\"%s\", " "curr-msg-ts=%" PRId64 ", last-msg-ts=%" PRId64, - lttng_live_msg_iter, stream_iter->name->str, + lttng_live_msg_iter, stream_iter->name.c_str(), 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 a6b8574c1..52e419a91 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.hpp +++ b/src/plugins/ctf/lttng-live/lttng-live.hpp @@ -113,8 +113,7 @@ struct lttng_live_stream_iterator std::vector buf; - /* Owned by this. */ - GString *name = nullptr; + std::string name; bool has_stream_hung_up = false; };