import static org.lttng.tools.utils.ShellUtils.executeCommand;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
// FIXME also delete the trace we generated ?
}
+ @Override
+ public boolean enableEvent(String eventName, String loglevel, boolean loglevelOnly, String filter) {
+ channelCreated = true;
+
+ List<String> command = new ArrayList<>();
+ command.add("lttng");
+ command.add("enable-event");
+ command.add(domain.flag());
+ command.add(eventName);
+
+ if (loglevel != null) {
+ if (loglevelOnly) {
+ command.add("--loglevel-only");
+ } else {
+ command.add("--loglevel");
+ }
+ command.add(loglevel);
+ }
+
+ if (filter != null) {
+ command.add("--filter");
+ command.add(filter);
+ }
+
+ command.add("-s");
+ command.add(sessionName);
+
+ return executeCommand(command);
+ }
+
@Override
public boolean enableAllEvents() {
channelCreated = true;
"-s", sessionName));
}
+ @Override
+ public boolean disableAllEvents() {
+ return executeCommand(Arrays.asList(
+ "lttng", "disable-event", domain.flag(), "-a", "-s", sessionName));
+ }
+
+ @Override
+ public List<String> listEvents() {
+ List<String> output = ShellUtils.getOutputFromCommand(true, Arrays.asList("lttng", "list", domain.flag()));
+ return output.stream()
+ .map(e -> e.trim())
+ .filter(e -> e.startsWith("- "))
+ .map(e -> e.substring(2))
+ .filter(e -> !e.startsWith("org.junit"))
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public boolean enableAppContext(String retrieverName, String contextName) {
+ return executeCommand(Arrays.asList(
+ "lttng", "add-context", domain.flag(),
+ "-t", "$app." + retrieverName + ':' + contextName,
+ "-s", sessionName));
+ }
+
@Override
public boolean start() {
/*