Add filter notifications and TCP client tests
[lttng-ust-java-tests.git] / lttng-tools-java / src / main / java / org / lttng / tools / LttngCommandLineSession.java
index 0cd26cca8bb464f4540a09a744de9caa76cde4dd..e2b1ff6b6ce56acdc97041cbc7540eb3cc06df83 100644 (file)
@@ -20,6 +20,7 @@ package org.lttng.tools;
 
 import static org.lttng.tools.utils.ShellUtils.executeCommand;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
@@ -69,6 +70,36 @@ class LttngCommandLineSession implements ILttngSession {
      // 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;
@@ -99,6 +130,12 @@ class LttngCommandLineSession implements ILttngSession {
                 "-s", sessionName));
     }
 
+    @Override
+    public boolean disableAllEvents() {
+        return executeCommand(Arrays.asList(
+                "lttng", "disable-event", domain.flag(), "-a", "-s", sessionName));
+    }
+
     @Override
     public boolean start() {
         /*
This page took 0.022773 seconds and 4 git commands to generate.