All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [LTTNG-TOOLS PATCH] Fix: get the stream_id when generating live beacons
       [not found] <1404231052-20970-1-git-send-email-jdesfossez@efficios.com>
@ 2014-07-01 16:17 ` Julien Desfossez
  0 siblings, 0 replies; 3+ messages in thread
From: Julien Desfossez @ 2014-07-01 16:17 UTC (permalink / raw)
  To: dgoulet; +Cc: lttng-dev

Forget this patch, I'll send a new version soon.
Need to check the domain before...

On 14-07-01 12:10 PM, Julien Desfossez wrote:
> When we send an empty index (beacon), we need to extract the stream_id
> to avoid stalling the client on inactive streams on startup.
> 
> This patch should also be backported to 2.4.x.
> 
> Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
> ---
>  src/common/consumer-timer.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c
> index c659bf6..c13577f 100644
> --- a/src/common/consumer-timer.c
> +++ b/src/common/consumer-timer.c
> @@ -118,8 +118,16 @@ static int send_empty_index(struct lttng_consumer_stream *stream, uint64_t ts)
>  {
>  	int ret;
>  	struct ctf_packet_index index;
> +	uint64_t stream_id;
> +
> +	ret = kernctl_get_stream_id(stream->wait_fd, &stream_id);
> +	if (ret < 0) {
> +		PERROR("kernctl_get_stream_id");
> +		goto error;
> +	}
>  
>  	memset(&index, 0, sizeof(index));
> +	index.stream_id = htobe64(stream_id);
>  	index.timestamp_end = htobe64(ts);
>  	ret = consumer_stream_write_index(stream, &index);
>  	if (ret < 0) {
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [LTTNG-TOOLS PATCH] Fix: get the stream_id when generating live beacons
@ 2014-07-01 17:59 Julien Desfossez
  0 siblings, 0 replies; 3+ messages in thread
From: Julien Desfossez @ 2014-07-01 17:59 UTC (permalink / raw)
  To: dgoulet; +Cc: lttng-dev, Julien Desfossez

When we send an empty index (beacon), we need to extract the stream_id
to avoid stalling the client on inactive streams on startup.

This patch should also be backported to 2.4.x.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
---
 src/common/consumer-timer.c | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c
index c659bf6..d36e2bc 100644
--- a/src/common/consumer-timer.c
+++ b/src/common/consumer-timer.c
@@ -27,6 +27,7 @@
 #include <common/kernel-ctl/kernel-ctl.h>
 #include <common/kernel-consumer/kernel-consumer.h>
 #include <common/consumer-stream.h>
+#include <lttng/ust-ctl.h>
 
 #include "consumer-timer.h"
 #include "consumer-testpoint.h"
@@ -114,12 +115,14 @@ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx,
 	}
 }
 
-static int send_empty_index(struct lttng_consumer_stream *stream, uint64_t ts)
+static int send_empty_index(struct lttng_consumer_stream *stream, uint64_t ts,
+		uint64_t stream_id)
 {
 	int ret;
 	struct ctf_packet_index index;
 
 	memset(&index, 0, sizeof(index));
+	index.stream_id = htobe64(stream_id);
 	index.timestamp_end = htobe64(ts);
 	ret = consumer_stream_write_index(stream, &index);
 	if (ret < 0) {
@@ -132,7 +135,7 @@ error:
 
 static int check_kernel_stream(struct lttng_consumer_stream *stream)
 {
-	uint64_t ts;
+	uint64_t ts, stream_id;
 	int ret;
 
 	/*
@@ -160,8 +163,13 @@ static int check_kernel_stream(struct lttng_consumer_stream *stream)
 			ret = -1;
 			goto error_unlock;
 		}
+		ret = kernctl_get_stream_id(stream->wait_fd, &stream_id);
+		if (ret < 0) {
+			PERROR("kernctl_get_stream_id");
+			goto error_unlock;
+		}
 		DBG("Stream %" PRIu64 " empty, sending beacon", stream->key);
-		ret = send_empty_index(stream, ts);
+		ret = send_empty_index(stream, ts, stream_id);
 		if (ret < 0) {
 			goto error_unlock;
 		}
@@ -175,7 +183,7 @@ error_unlock:
 
 static int check_ust_stream(struct lttng_consumer_stream *stream)
 {
-	uint64_t ts;
+	uint64_t ts, stream_id;
 	int ret;
 
 	assert(stream);
@@ -206,8 +214,13 @@ static int check_ust_stream(struct lttng_consumer_stream *stream)
 			ret = -1;
 			goto error_unlock;
 		}
+		ret = ustctl_get_stream_id(stream->ustream, &stream_id);
+		if (ret < 0) {
+			PERROR("ustctl_get_stream_id");
+			goto error_unlock;
+		}
 		DBG("Stream %" PRIu64 " empty, sending beacon", stream->key);
-		ret = send_empty_index(stream, ts);
+		ret = send_empty_index(stream, ts, stream_id);
 		if (ret < 0) {
 			goto error_unlock;
 		}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [LTTNG-TOOLS PATCH] Fix: get the stream_id when generating live beacons
@ 2014-07-01 16:10 Julien Desfossez
  0 siblings, 0 replies; 3+ messages in thread
From: Julien Desfossez @ 2014-07-01 16:10 UTC (permalink / raw)
  To: dgoulet; +Cc: lttng-dev, Julien Desfossez

When we send an empty index (beacon), we need to extract the stream_id
to avoid stalling the client on inactive streams on startup.

This patch should also be backported to 2.4.x.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
---
 src/common/consumer-timer.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c
index c659bf6..c13577f 100644
--- a/src/common/consumer-timer.c
+++ b/src/common/consumer-timer.c
@@ -118,8 +118,16 @@ static int send_empty_index(struct lttng_consumer_stream *stream, uint64_t ts)
 {
 	int ret;
 	struct ctf_packet_index index;
+	uint64_t stream_id;
+
+	ret = kernctl_get_stream_id(stream->wait_fd, &stream_id);
+	if (ret < 0) {
+		PERROR("kernctl_get_stream_id");
+		goto error;
+	}
 
 	memset(&index, 0, sizeof(index));
+	index.stream_id = htobe64(stream_id);
 	index.timestamp_end = htobe64(ts);
 	ret = consumer_stream_write_index(stream, &index);
 	if (ret < 0) {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-01 17:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1404231052-20970-1-git-send-email-jdesfossez@efficios.com>
2014-07-01 16:17 ` [LTTNG-TOOLS PATCH] Fix: get the stream_id when generating live beacons Julien Desfossez
2014-07-01 17:59 Julien Desfossez
  -- strict thread matches above, loose matches on Subject: below --
2014-07-01 16:10 Julien Desfossez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.