Fix: sessiond: size-based rotation threshold exceeded in per-pid tracing (2/2)
[lttng-tools.git] / src / common / consumer / consumer-timer.cpp
index 4e308383d22e5a1c22e7f9442c5b9a9dc87d1020..8dae11fa2d5b465ccc3dab61f2aed7b948ab518a 100644 (file)
@@ -645,9 +645,10 @@ void sample_and_send_channel_buffer_stats(struct lttng_consumer_channel *channel
                        consumer_timer_thread_get_channel_monitor_pipe();
        struct lttcomm_consumer_channel_monitor_msg msg = {
                .key = channel->key,
+               .session_id = channel->session_id,
                .lowest = 0,
                .highest = 0,
-               .total_consumed = 0,
+               .consumed_since_last_sample = 0,
        };
        sample_positions_cb sample;
        get_consumed_cb get_consumed;
@@ -681,9 +682,10 @@ void sample_and_send_channel_buffer_stats(struct lttng_consumer_channel *channel
        if (ret) {
                return;
        }
+
        msg.highest = highest;
        msg.lowest = lowest;
-       msg.total_consumed = total_consumed;
+       msg.consumed_since_last_sample = total_consumed - channel->last_consumed_size_sample_sent;
 
        /*
         * Writes performed here are assumed to be atomic which is only
@@ -706,6 +708,7 @@ void sample_and_send_channel_buffer_stats(struct lttng_consumer_channel *channel
                DBG("Sent channel monitoring sample for channel key %" PRIu64
                                ", (highest = %" PRIu64 ", lowest = %" PRIu64 ")",
                                channel->key, msg.highest, msg.lowest);
+               channel->last_consumed_size_sample_sent = msg.consumed_since_last_sample;
        }
 }
 
This page took 0.023299 seconds and 4 git commands to generate.