X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_channels.c;h=4185b19a716cde04b47ba2c47209a54bfb3b0f69;hb=8692d4e5805da0104c690972bb96b60b8cb52685;hp=4816d62c68263a4a26a245fabc9764c17365424e;hpb=de65565af61d60ddad1b309c969d6a2129ba4f19;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_channels.c b/src/bin/lttng/commands/enable_channels.c index 4816d62c6..4185b19a7 100644 --- a/src/bin/lttng/commands/enable_channels.c +++ b/src/bin/lttng/commands/enable_channels.c @@ -104,28 +104,42 @@ static void usage(FILE *ofp) fprintf(ofp, " --overwrite Flight recorder mode%s\n", DEFAULT_CHANNEL_OVERWRITE ? " (default)" : ""); fprintf(ofp, " --subbuf-size SIZE Subbuffer size in bytes {+k,+M,+G}\n"); - fprintf(ofp, " (default: %zu, kernel default: %zu)\n", - default_get_channel_subbuf_size(), - default_get_kernel_channel_subbuf_size()); + fprintf(ofp, " (default UST uid: %zu, UST pid: %zu, kernel: %zu, metadata: %zu)\n", + default_get_ust_uid_channel_subbuf_size(), + default_get_ust_pid_channel_subbuf_size(), + default_get_kernel_channel_subbuf_size(), + default_get_metadata_subbuf_size()); fprintf(ofp, " Rounded up to the next power of 2.\n"); fprintf(ofp, " --num-subbuf NUM Number of subbufers\n"); - fprintf(ofp, " (default: %u)\n", - DEFAULT_CHANNEL_SUBBUF_NUM); + fprintf(ofp, " (default UST uid: %u, UST pid: %u, kernel: %u, metadata: %u)\n", + DEFAULT_UST_UID_CHANNEL_SUBBUF_NUM, DEFAULT_UST_PID_CHANNEL_SUBBUF_NUM, + DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM, DEFAULT_METADATA_SUBBUF_NUM); fprintf(ofp, " Rounded up to the next power of 2.\n"); - fprintf(ofp, " --switch-timer USEC Switch timer interval in usec (default: %u)\n", - DEFAULT_CHANNEL_SWITCH_TIMER); - fprintf(ofp, " --read-timer USEC Read timer interval in usec (UST default: %u, kernel default: %u)\n", - DEFAULT_UST_CHANNEL_READ_TIMER, DEFAULT_KERNEL_CHANNEL_READ_TIMER); + fprintf(ofp, " --switch-timer USEC Switch timer interval in usec\n"); + fprintf(ofp, " (default UST uid: %u, UST pid: %u, kernel: %u, metadata: %u)\n", + DEFAULT_UST_UID_CHANNEL_SWITCH_TIMER, DEFAULT_UST_PID_CHANNEL_SWITCH_TIMER, + DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER, DEFAULT_METADATA_SWITCH_TIMER); + fprintf(ofp, " --read-timer USEC Read timer interval in usec.\n"); + fprintf(ofp, " (default UST uid: %u, UST pid: %u, kernel: %u, metadata: %u)\n", + DEFAULT_UST_UID_CHANNEL_READ_TIMER, DEFAULT_UST_UID_CHANNEL_READ_TIMER, + DEFAULT_KERNEL_CHANNEL_READ_TIMER, DEFAULT_METADATA_READ_TIMER); fprintf(ofp, " --output TYPE Channel output type (Values: %s, %s)\n", output_mmap, output_splice); + fprintf(ofp, " (default UST uid: %s, UST pid: %s, kernel: %s, metadata: %s)\n", + DEFAULT_UST_UID_CHANNEL_OUTPUT == LTTNG_EVENT_MMAP ? output_mmap : output_splice, + DEFAULT_UST_PID_CHANNEL_OUTPUT == LTTNG_EVENT_MMAP ? output_mmap : output_splice, + DEFAULT_KERNEL_CHANNEL_OUTPUT == LTTNG_EVENT_MMAP ? output_mmap : output_splice, + DEFAULT_METADATA_OUTPUT == LTTNG_EVENT_MMAP ? output_mmap : output_splice); fprintf(ofp, " --buffers-uid Use per UID buffer (-u only)\n"); fprintf(ofp, " --buffers-pid Use per PID buffer (-u only)\n"); fprintf(ofp, " --buffers-global Use shared buffer for the whole system (-k only)\n"); fprintf(ofp, " -C, --tracefile-size SIZE\n"); - fprintf(ofp, " Maximum size of each tracefile within a stream (in bytes).\n"); + fprintf(ofp, " Maximum size of each tracefile within a stream (in bytes). 0 means unlimited.\n"); + fprintf(ofp, " (default: %u)\n", DEFAULT_CHANNEL_TRACEFILE_SIZE); fprintf(ofp, " -W, --tracefile-count COUNT\n"); fprintf(ofp, " Used in conjunction with -C option, this will limit the number\n"); - fprintf(ofp, " of files created to the specified count.\n"); + fprintf(ofp, " of files created to the specified count. 0 means unlimited.\n"); + fprintf(ofp, " (default: %u)\n", DEFAULT_CHANNEL_TRACEFILE_COUNT); fprintf(ofp, "\n"); } @@ -188,15 +202,15 @@ static int enable_channel(char *session_name) } } else if (opt_userspace) { dom.type = LTTNG_DOMAIN_UST; - if (opt_buffer_uid) { - dom.buf_type = LTTNG_BUFFER_PER_UID; + if (opt_buffer_pid) { + dom.buf_type = LTTNG_BUFFER_PER_PID; } else { if (opt_buffer_global) { ERR("Buffer type not supported for domain -u"); ret = CMD_ERROR; goto error; } - dom.buf_type = LTTNG_BUFFER_PER_PID; + dom.buf_type = LTTNG_BUFFER_PER_UID; } } else { ERR("Please specify a tracer (-k/--kernel or -u/--userspace)"); @@ -206,6 +220,13 @@ static int enable_channel(char *session_name) set_default_attr(&dom); + if (chan.attr.tracefile_size == 0 && chan.attr.tracefile_count) { + ERR("Missing option --tracefile-size. " + "A file count without a size won't do anything."); + ret = CMD_ERROR; + goto error; + } + if ((chan.attr.tracefile_size > 0) && (chan.attr.tracefile_size < chan.attr.subbuf_size)) { WARN("Tracefile size rounded up from (%" PRIu64 ") to subbuffer size (%" PRIu64 ")",