Project

General

Profile

Actions

Feature #566

open

User-space data buffering schemes and the lttng user interface

Added by Daniel U. Thibault almost 11 years ago. Updated over 8 years ago.

Status:
Confirmed
Priority:
Normal
Assignee:
-
Target version:
Start date:
06/20/2013
Due date:
% Done:

0%

Estimated time:

Description

Here is a typical log with the current almost-2.2.0-rc3 version of lttng:

$ sudo -H lttng create uid -U net://131.132.32.77
Spawning a session daemon
Session uid created.
Traces will be written in net://131.132.32.77
$ sudo -H lttng enable-channel --buffers-uid -u canaluid
UST channel canaluid enabled for session uid
$ sudo -H lttng enable-event -u -a
Error: Events: Buffer type mismatch for session (channel channel0, session uid)
$ sudo -H lttng enable-event -u -a -c canaluid
All UST events are enabled in channel canaluid
$ sudo -H lttng start
Tracing started for session uid
$ sudo -H lttng destroy

Once enable-channel --buffers-uid is issued, it is understood the entire user-space domain will be using per-uid buffers. (This may change with later incarnations of lttng, I presume? Are there plans to allow per-channel control of the buffering schemes?)

The following enable-event -u command tries to create the default channel (channel0) because the user did not specify -c...But why does it try to create that channel using --buffers-pid? The session daemon knows that the user-space channels are now per-uid.

Resolution: The session daemon should switch the channel buffering scheme default of each session to per-uid whenever this is established by the user's first enable-channel or enable-event command. In other words, --buffers-pid should be the default only when the first enable-channel is issued (implicitly or explicitly).

It would also be appreciated if a user message were issued when that decision (per-pid vs. per-uid) is taken. Thus our previous session would become:

$ sudo -H lttng create uid -U net://131.132.32.77
Spawning a session daemon
Session uid created.
Traces will be written in net://131.132.32.77
$ sudo -H lttng enable-channel --buffers-uid -u canaluid
UST channel canaluid enabled for session uid
UST buffering is per UID
$ sudo -H lttng enable-event -u -a
All UST events are enabled in channel channel0
$ sudo -H lttng start
Tracing started for session uid
$ sudo -H lttng destroy
Actions

Also available in: Atom PDF