Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: dgoulet@efficios.com (David Goulet)
Subject: [lttng-dev] [RFC] Changes to the stop command
Date: Wed, 10 Oct 2012 16:14:10 -0400	[thread overview]
Message-ID: <5075D712.7070700@efficios.com> (raw)
In-Reply-To: <20121010193404.GA29797@Krystal>



Mathieu Desnoyers:
> * David Goulet (dgoulet at efficios.com) wrote:
>> Hi everyone,
>>
>> We discovered a week ago a "broken guarantee" which is that when a
>> session is stopped by either using the lttng command or the API call
>> lttng_stop_session the traced data MUST be ready to be read.
>>
>> However, we don't offer that at all for now for both local storage and
>> network streaming. The stop command/call simply does _not_ wait for that
>> state.
>>
>> Here is the proposal to fix this issue before the 2.1 stable release.
>> Let's add a new API call (extending it) that probes the session daemon
>> for the trace files state (still writing, no more data, closed, ...).
>>
>> Ex: lttng_data_state(handle)
>>
>> This will bring a change to the default behavior of the stop command.
>> From now on, it will wait by default until the data is available to read
>> (for both network and local). This will however be done on the client
>> side in order to avoid blocking the session daemon client command sub
>> system for an unknown amount of time.
>>
>> The way I propose we proceed is to use the new API call (mention above)
>> on the liblttng-ctl side when a stop is done that requires it to wait.
>> Unfortunately, there is no clean way to do that other than an active
>> loop polling the session daemon...
>>
>> The "no wait" use case of the stop command will also be added with a
>> lttng_stop_session_no_wait or something like that.
>>
>> In a nutshell:
>>
>> (new) lttng_data_state(handle) --> name is NOT final, please chip in for
>> ideas! :)
> 
> ideas:
> 
> - lttng_data_pending()
> - lttng_data_available()

lttng_data_ready?

David

> 
> 
>> (new) lttng_stop_session_no_wait(session_name) --> naming NOT final.
> 
> lttng_stop_session_no_wait sounds ok to me.
> 
> The rest looks good. Let's see if others find better names ;)
> 
> Thanks,
> 
> Mathieu
> 
>>
>> (changes) lttng stop (and lttng_stop_session) will now wait for the data
>> to be available so babeltrace could be use right after for instance. A
>> --no-wait will be added as well to the UI command.
>>
>> I would like everyone opinion on that because this is an important issue
>> that _MUST_ be fixed in 2.1 stable or at least in the 2.1.x series.
>>
>> Thanks a lot!
>> David
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 



  reply	other threads:[~2012-10-10 20:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-10 17:11 David Goulet
2012-10-10 19:34 ` Mathieu Desnoyers
2012-10-10 20:14   ` David Goulet [this message]
2012-10-10 20:27 ` David Goulet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5075D712.7070700@efficios.com \
    --to=dgoulet@efficios.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox