src.ctf.lttng-live: Add logging statements across the component class
[babeltrace.git] / src / plugins / ctf / lttng-live / data-stream.c
index 61777519e7819e1f4253f9b02b1c2ded3c907dd7..6414805351deb4157ce66280ee60be2993b3cbfb 100644 (file)
 #define STREAM_NAME_PREFIX     "stream-"
 
 static
-enum bt_msg_iter_medium_status medop_request_bytes(
+enum ctf_msg_iter_medium_status medop_request_bytes(
                size_t request_sz, uint8_t **buffer_addr,
                size_t *buffer_sz, void *data)
 {
-       enum bt_msg_iter_medium_status status =
-               BT_MSG_ITER_MEDIUM_STATUS_OK;
+       enum ctf_msg_iter_medium_status status =
+               CTF_MSG_ITER_MEDIUM_STATUS_OK;
        struct lttng_live_stream_iterator *stream = data;
        struct lttng_live_trace *trace = stream->trace;
        struct lttng_live_session *session = trace->session;
@@ -59,14 +59,14 @@ enum bt_msg_iter_medium_status medop_request_bytes(
        uint64_t read_len;
 
        if (stream->has_stream_hung_up) {
-               status = BT_MSG_ITER_MEDIUM_STATUS_EOF;
+               status = CTF_MSG_ITER_MEDIUM_STATUS_EOF;
                goto end;
        }
 
        len_left = stream->base_offset + stream->len - stream->offset;
        if (!len_left) {
                stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
-               status = BT_MSG_ITER_MEDIUM_STATUS_AGAIN;
+               status = CTF_MSG_ITER_MEDIUM_STATUS_AGAIN;
                goto end;
        }
 
@@ -130,7 +130,7 @@ end:
        return lttng_live_stream->stream;
 }
 
-static struct bt_msg_iter_medium_ops medops = {
+static struct ctf_msg_iter_medium_ops medops = {
        .request_bytes = medop_request_bytes,
        .seek = NULL,
        .borrow_stream = medop_borrow_stream,
@@ -138,7 +138,8 @@ static struct bt_msg_iter_medium_ops medops = {
 
 BT_HIDDEN
 enum lttng_live_iterator_status lttng_live_lazy_msg_init(
-               struct lttng_live_session *session)
+               struct lttng_live_session *session,
+               bt_self_message_iterator *self_msg_iter)
 {
        struct lttng_live_component *lttng_live =
                session->lttng_live_msg_iter->lttng_live_comp;
@@ -150,6 +151,10 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(
                return LTTNG_LIVE_ITERATOR_STATUS_OK;
        }
 
+       BT_COMP_LOGD("Lazily initializing self message iterator for live session: "
+               "session-id=%"PRIu64", self-msg-iter-addr=%p", session->id,
+               self_msg_iter);
+
        for (trace_idx = 0; trace_idx < session->traces->len; trace_idx++) {
                struct lttng_live_trace *trace =
                        g_ptr_array_index(session->traces, trace_idx);
@@ -167,18 +172,22 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(
                        }
                        ctf_tc = ctf_metadata_decoder_borrow_ctf_trace_class(
                                trace->metadata->decoder);
-                       stream_iter->msg_iter = bt_msg_iter_create(ctf_tc,
+                       BT_COMP_LOGD("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);
+                       stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc,
                                lttng_live->max_query_size, medops, stream_iter,
-                               log_level, self_comp);
+                               log_level, self_comp, self_msg_iter);
                        if (!stream_iter->msg_iter) {
                                BT_COMP_LOGE_APPEND_CAUSE(self_comp,
                                        "Failed to create CTF message iterator");
                                goto error;
                        }
 
-                       bt_msg_iter_set_emit_stream_end_message(
+                       ctf_msg_iter_set_emit_stream_end_message(
                                stream_iter->msg_iter, true);
-                       bt_msg_iter_set_emit_stream_beginning_message(
+                       ctf_msg_iter_set_emit_stream_beginning_message(
                                stream_iter->msg_iter, true);
                }
        }
@@ -195,7 +204,8 @@ BT_HIDDEN
 struct lttng_live_stream_iterator *lttng_live_stream_iterator_create(
                struct lttng_live_session *session,
                uint64_t ctf_trace_id,
-               uint64_t stream_id)
+               uint64_t stream_id,
+               bt_self_message_iterator *self_msg_iter)
 {
        struct lttng_live_stream_iterator *stream_iter;
        struct lttng_live_component *lttng_live;
@@ -238,18 +248,18 @@ struct lttng_live_stream_iterator *lttng_live_stream_iterator_create(
                        ctf_metadata_decoder_borrow_ctf_trace_class(
                                trace->metadata->decoder);
                BT_ASSERT(!stream_iter->msg_iter);
-               stream_iter->msg_iter = bt_msg_iter_create(ctf_tc,
+               stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc,
                        lttng_live->max_query_size, medops, stream_iter,
-                       log_level, self_comp);
+                       log_level, self_comp, self_msg_iter);
                if (!stream_iter->msg_iter) {
                        BT_COMP_LOGE_APPEND_CAUSE(self_comp,
                                "Failed to create CTF message iterator");
                        goto error;
                }
 
-               bt_msg_iter_set_emit_stream_end_message(
+               ctf_msg_iter_set_emit_stream_end_message(
                        stream_iter->msg_iter, true);
-               bt_msg_iter_set_emit_stream_beginning_message(
+               ctf_msg_iter_set_emit_stream_beginning_message(
                        stream_iter->msg_iter, true);
        }
        stream_iter->buf = g_new0(uint8_t, lttng_live->max_query_size);
@@ -295,7 +305,7 @@ void lttng_live_stream_iterator_destroy(
        }
 
        if (stream_iter->msg_iter) {
-               bt_msg_iter_destroy(stream_iter->msg_iter);
+               ctf_msg_iter_destroy(stream_iter->msg_iter);
        }
        g_free(stream_iter->buf);
        if (stream_iter->name) {
This page took 0.027839 seconds and 4 git commands to generate.