static int opt_event_type;
static char *opt_kernel;
-static char *opt_cmd_name;
static int opt_pid_all;
static int opt_userspace;
+static char *opt_cmd_name;
static pid_t opt_pid;
enum {
OPT_HELP = 1,
- OPT_USERSPACE,
OPT_TRACEPOINT,
OPT_MARKER,
OPT_PROBE,
OPT_FUNCTION,
OPT_FUNCTION_ENTRY,
+ OPT_SYSCALL,
+ OPT_USERSPACE,
};
+static struct lttng_handle *handle;
+
static struct poptOption long_options[] = {
/* longName, shortName, argInfo, argPtr, value, descrip, argDesc */
{"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0},
{"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0},
- {"userspace", 'u', POPT_ARG_STRING | POPT_ARGFLAG_OPTIONAL, 0, OPT_USERSPACE, 0, 0},
+ {"userspace", 'u', POPT_ARG_STRING | POPT_ARGFLAG_OPTIONAL, &opt_cmd_name, OPT_USERSPACE, 0, 0},
{"all", 0, POPT_ARG_VAL, &opt_pid_all, 1, 0, 0},
{"pid", 'p', POPT_ARG_INT, &opt_pid, 0, 0, 0},
{"tracepoint", 0, POPT_ARG_NONE, 0, OPT_TRACEPOINT, 0, 0},
{"probe", 0, POPT_ARG_NONE, 0, OPT_PROBE, 0, 0},
{"function", 0, POPT_ARG_NONE, 0, OPT_FUNCTION, 0, 0},
{"function:entry", 0, POPT_ARG_NONE, 0, OPT_FUNCTION_ENTRY, 0, 0},
+ {"syscall", 0, POPT_ARG_NONE, 0, OPT_SYSCALL, 0, 0},
{0, 0, 0, 0, 0, 0, 0}
};
fprintf(ofp, " Dynamic function entry/return probe.\n");
fprintf(ofp, " --function:entry symbol\n");
fprintf(ofp, " Function tracer event\n");
+ fprintf(ofp, " --syscall System call eventl\n");
fprintf(ofp, " --marker User-space marker (deprecated)\n");
fprintf(ofp, "\n");
}
dom.type = LTTNG_DOMAIN_KERNEL;
}
+ handle = lttng_create_handle(NULL, &dom);
+ if (handle == NULL) {
+ ret = -1;
+ goto end;
+ }
+
/* Kernel tracer action */
if (opt_kernel) {
switch (opt_event_type) {
case LTTNG_EVENT_FUNCTION:
DBG("Calibrating kernel functions");
calibrate.type = LTTNG_CALIBRATE_FUNCTION;
- ret = lttng_calibrate(&dom, &calibrate);
+ ret = lttng_calibrate(handle, &calibrate);
break;
case LTTNG_EVENT_FUNCTION_ENTRY:
DBG("Calibrating kernel function entry");
break;
+ case LTTNG_EVENT_SYSCALL:
+ DBG("Calibrating kernel syscall");
+ break;
default:
ret = CMD_NOT_IMPLEMENTED;
goto end;
goto end;
}
end:
+ lttng_destroy_handle(handle);
+
return ret;
}
usage(stderr);
ret = CMD_SUCCESS;
goto end;
- case OPT_USERSPACE:
- opt_userspace = 1;
- opt_cmd_name = poptGetOptArg(pc);
- break;
case OPT_TRACEPOINT:
ret = CMD_NOT_IMPLEMENTED;
break;
case OPT_FUNCTION_ENTRY:
ret = CMD_NOT_IMPLEMENTED;
break;
+ case OPT_SYSCALL:
+ ret = CMD_NOT_IMPLEMENTED;
+ break;
+ case OPT_USERSPACE:
+ opt_userspace = 1;
+ break;
default:
usage(stderr);
ret = CMD_UNDEFINED;