* Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
*/
+#include <sstream>
+
#include <glib.h>
-#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
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;
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();
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,
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);
}
}
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. */
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. */
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;
}
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);
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
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) {
/*
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;
}
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,
"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
"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;