src.ctf.lttng-live: make lttng_live_stream_iterator::name an std::string
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 11 Dec 2023 17:26:30 +0000 (12:26 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 17 Apr 2024 17:57:53 +0000 (13:57 -0400)
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Change-Id: I515319dc62f147e4423c9eadd3dc00648e46e789
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8457
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12372
Tested-by: jenkins <jenkins@lttng.org>
src/plugins/ctf/lttng-live/data-stream.cpp
src/plugins/ctf/lttng-live/lttng-live.cpp
src/plugins/ctf/lttng-live/lttng-live.hpp

index 358768cb578473b54a2c8928be958aefdea9ff0d..4cfc7e0e4f3f91a5226f3b2efc36d0798c7c82dd 100644 (file)
@@ -7,8 +7,9 @@
  * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
  */
 
+#include <sstream>
+
 #include <glib.h>
-#include <inttypes.h>
 #include <stdio.h>
 #include <stdlib.h>
 
@@ -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. */
index 331c82376a30c2ba564c230e0ffe3796420180b0..c60de2e3c9dfbd758765e241ff1a3e39299af1d0 100644 (file)
@@ -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<bt2::MessageType>(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;
index 8e1bb356c8124f403aa232c909b3d23c871e0825..a4974f34642ce464a09ed921c38bb3a5a4738f74 100644 (file)
@@ -129,8 +129,7 @@ struct lttng_live_stream_iterator
 
     std::vector<uint8_t> buf;
 
-    /* Owned by this. */
-    GString *name = nullptr;
+    std::string name;
 
     bool has_stream_hung_up = false;
 };
This page took 0.030157 seconds and 4 git commands to generate.