From: dgoulet@efficios.com (David Goulet)
Subject: [lttng-dev] [RFC] Changes to the stop command
Date: Wed, 10 Oct 2012 13:11:53 -0400 [thread overview]
Message-ID: <5075AC59.3050704@efficios.com> (raw)
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! :)
(new) lttng_stop_session_no_wait(session_name) --> naming NOT final.
(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
next reply other threads:[~2012-10-10 17:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-10 17:11 David Goulet [this message]
2012-10-10 19:34 ` Mathieu Desnoyers
2012-10-10 20:14 ` David Goulet
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=5075AC59.3050704@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