projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mi: mi backend + mi for command version
[lttng-tools.git]
/
src
/
bin
/
lttng
/
lttng.c
diff --git
a/src/bin/lttng/lttng.c
b/src/bin/lttng/lttng.c
index d4d40f07722ef8aad0097164af92456454418f90..bad57fd9a8a41487e33482ba5ad5e49187c4abd3 100644
(file)
--- a/
src/bin/lttng/lttng.c
+++ b/
src/bin/lttng/lttng.c
@@
-55,6
+55,7
@@
static struct option long_options[] = {
{"group", 1, NULL, 'g'},
{"verbose", 0, NULL, 'v'},
{"quiet", 0, NULL, 'q'},
{"group", 1, NULL, 'g'},
{"verbose", 0, NULL, 'v'},
{"quiet", 0, NULL, 'q'},
+ {"mi", 1, NULL, 'm'},
{"no-sessiond", 0, NULL, 'n'},
{"sessiond-path", 1, NULL, OPT_SESSION_PATH},
{"relayd-path", 1, NULL, OPT_RELAYD_PATH},
{"no-sessiond", 0, NULL, 'n'},
{"sessiond-path", 1, NULL, OPT_SESSION_PATH},
{"relayd-path", 1, NULL, OPT_RELAYD_PATH},
@@
-99,6
+100,8
@@
static void usage(FILE *ofp)
fprintf(ofp, " --list-commands Simple listing of lttng commands\n");
fprintf(ofp, " -v, --verbose Increase verbosity\n");
fprintf(ofp, " -q, --quiet Quiet mode\n");
fprintf(ofp, " --list-commands Simple listing of lttng commands\n");
fprintf(ofp, " -v, --verbose Increase verbosity\n");
fprintf(ofp, " -q, --quiet Quiet mode\n");
+ fprintf(ofp, " -m, --mi TYPE Machine Interface mode.\n");
+ fprintf(ofp, " Type: xml\n");
fprintf(ofp, " -g, --group NAME Unix tracing group name. (default: tracing)\n");
fprintf(ofp, " -n, --no-sessiond Don't spawn a session daemon\n");
fprintf(ofp, " --sessiond-path PATH Session daemon full path\n");
fprintf(ofp, " -g, --group NAME Unix tracing group name. (default: tracing)\n");
fprintf(ofp, " -n, --no-sessiond Don't spawn a session daemon\n");
fprintf(ofp, " --sessiond-path PATH Session daemon full path\n");
@@
-135,6
+138,25
@@
static void version(FILE *ofp)
progname);
}
progname);
}
+/*
+ * Find the MI output type enum from a string. This function is for the support
+ * of machine interface output.
+ */
+static int mi_output_type(const char *output_type)
+{
+ int ret = 0;
+
+ if (!strncasecmp("xml", output_type, 3)) {
+ ret = LTTNG_MI_XML;
+ } else {
+ /* Invalid output format */
+ ERR("MI output format not supported");
+ ret = -LTTNG_ERR_MI_OUTPUT_TYPE;
+ }
+
+ return ret;
+}
+
/*
* list_options
*
/*
* list_options
*
@@
-426,7
+448,7
@@
static int parse_args(int argc, char **argv)
clean_exit(EXIT_FAILURE);
}
clean_exit(EXIT_FAILURE);
}
- while ((opt = getopt_long(argc, argv, "+Vhnvqg:", long_options, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "+Vhnvqg:
m:
", long_options, NULL)) != -1) {
switch (opt) {
case 'V':
version(stdout);
switch (opt) {
case 'V':
version(stdout);
@@
-445,6
+467,13
@@
static int parse_args(int argc, char **argv)
case 'q':
lttng_opt_quiet = 1;
break;
case 'q':
lttng_opt_quiet = 1;
break;
+ case 'm':
+ lttng_opt_mi = mi_output_type(optarg);
+ if (lttng_opt_mi < 0) {
+ ret = lttng_opt_mi;
+ goto error;
+ }
+ break;
case 'g':
lttng_set_tracing_group(optarg);
break;
case 'g':
lttng_set_tracing_group(optarg);
break;
This page took
0.042597 seconds
and
4
git commands to generate.