ENABLE_MARKER,
DISABLE_MARKER,
GET_ONLINE_PIDS,
+ SET_SUBBUF_SIZE,
+ SET_SUBBUF_NUM,
+ ALLOC_TRACE,
UNKNOWN
};
--start-trace\t\t\tStart tracing\n\
--stop-trace\t\t\tStop tracing\n\
--destroy-trace\t\t\tDestroy the trace\n\
+ --set-subbuf-size \"CHANNEL/bytes\"\tSet the size of subbuffers per channel\n\
+ --set-subbuf-num \"CHANNEL/n\"\tSet the number of subbuffers per channel\n\
--enable-marker \"CHANNEL/MARKER\"\tEnable a marker\n\
--disable-marker \"CHANNEL/MARKER\"\tDisable a marker\n\
--list-markers\t\t\tList the markers of the process, their\n\t\t\t\t\t state and format string\n\
int option_index = 0;
static struct option long_options[] = {
{"create-trace", 0, 0, 1012},
+ {"alloc-trace", 0, 0, 1015},
{"start-trace", 0, 0, 1000},
{"stop-trace", 0, 0, 1001},
{"destroy-trace", 0, 0, 1002},
{"help", 0, 0, 'h'},
{"version", 0, 0, 1010},
{"online-pids", 0, 0, 1011},
+ {"set-subbuf-size", 1, 0, 1013},
+ {"set-subbuf-num", 1, 0, 1014},
{0, 0, 0, 0}
};
case 1012:
opts->cmd = CREATE_TRACE;
break;
+ case 1013:
+ opts->cmd = SET_SUBBUF_SIZE;
+ opts->regex = strdup(optarg);
+ break;
+ case 1014:
+ opts->cmd = SET_SUBBUF_NUM;
+ opts->regex = strdup(optarg);
+ break;
+ case 1015:
+ opts->cmd = ALLOC_TRACE;
+ break;
default:
/* unknown option or other error; error is
printed by getopt, just return */
ustcmd_set_marker_state(opts.regex, 0, *pidit);
break;
+ case SET_SUBBUF_SIZE:
+ ustcmd_set_subbuf_size(opts.regex, *pidit);
+ break;
+
+ case SET_SUBBUF_NUM:
+ ustcmd_set_subbuf_num(opts.regex, *pidit);
+ break;
+
+ case ALLOC_TRACE:
+ result = ustcmd_alloc_trace(*pidit);
+ if (result) {
+ ERR("error while trying to alloc trace with PID %u\n", (unsigned int) *pidit);
+ break;
+ }
+ break;
+
default:
ERR("unknown command\n");
break;