import org.junit.runner.RunWith;
import org.lttng.tools.ILttngSession;
import org.lttng.ust.agent.ILttngHandler;
import org.junit.runner.RunWith;
import org.lttng.tools.ILttngSession;
import org.lttng.ust.agent.ILttngHandler;
import org.lttng.ust.agent.filter.IFilterChangeListener;
import org.lttng.ust.agent.session.EventRule;
import org.lttng.ust.agent.filter.IFilterChangeListener;
import org.lttng.ust.agent.session.EventRule;
-import org.lttng.ust.agent.session.LogLevelFilter;
-import org.lttng.ust.agent.session.LogLevelFilter.LogLevelType;
+import org.lttng.ust.agent.session.LogLevelSelector;
+import org.lttng.ust.agent.session.LogLevelSelector.LogLevelType;
private static final String EVENT_NAME_A = "eventA";
private static final String EVENT_NAME_B = "eventB";
private static final String EVENT_NAME_A = "eventA";
private static final String EVENT_NAME_B = "eventB";
public void setup() throws SecurityException, IOException {
handler = getLogHandler();
listener = new TestFilterListener();
public void setup() throws SecurityException, IOException {
handler = getLogHandler();
listener = new TestFilterListener();
@Ignore("Does not work as expected atm, see http://bugs.lttng.org/issues/913")
@Test
public void testSameEventsDiffLogLevels() {
@Ignore("Does not work as expected atm, see http://bugs.lttng.org/issues/913")
@Test
public void testSameEventsDiffLogLevels() {
- LogLevelFilter llf1 = new LogLevelFilter(getLogLevelStrings().warningInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_RANGE);
- LogLevelFilter llf2 = new LogLevelFilter(getLogLevelStrings().warningInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_SINGLE);
- LogLevelFilter llf3 = new LogLevelFilter(getLogLevelStrings().infoInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_RANGE);
+ LogLevelSelector lls1 = new LogLevelSelector(getLogLevelStrings().warningInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_RANGE);
+ LogLevelSelector lls2 = new LogLevelSelector(getLogLevelStrings().warningInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_SINGLE);
+ LogLevelSelector lls3 = new LogLevelSelector(getLogLevelStrings().infoInt(), LogLevelType.LTTNG_EVENT_LOGLEVEL_RANGE);
- new EventRule(EVENT_NAME_A, llf1, null),
- new EventRule(EVENT_NAME_A, llf2, null),
- new EventRule(EVENT_NAME_A, llf3, null))
+ new EventRule(EVENT_NAME_A, lls1, null),
+ new EventRule(EVENT_NAME_A, lls2, null),
+ new EventRule(EVENT_NAME_A, lls3, null))
.collect(Collectors.toSet());
session.enableEvent(EVENT_NAME_A, getLogLevelStrings().warningName(), false, null);
.collect(Collectors.toSet());
session.enableEvent(EVENT_NAME_A, getLogLevelStrings().warningName(), false, null);
session.enableEvent(EVENT_NAME_A, null, false, null);
session.enableEvent(EVENT_NAME_B, null, false, null);
session.enableEvent(EVENT_NAME_A, null, false, null);
session.enableEvent(EVENT_NAME_B, null, false, null);
session.enableEvent(EVENT_NAME_C, null, false, null);
assertEquals(2, listener.getNbNotifications());
session.enableEvent(EVENT_NAME_C, null, false, null);
assertEquals(2, listener.getNbNotifications());
TestFilterListener listener2 = new TestFilterListener();
TestFilterListener listener3 = new TestFilterListener();
TestFilterListener listener2 = new TestFilterListener();
TestFilterListener listener3 = new TestFilterListener();
Set<EventRule> rules = Stream.of(
new EventRule(EVENT_NAME_A, LOG_LEVEL_UNSPECIFIED, null),
Set<EventRule> rules = Stream.of(
new EventRule(EVENT_NAME_A, LOG_LEVEL_UNSPECIFIED, null),
assertEquals(4, listener3.getNbNotifications());
assertEquals(rules, listener3.getCurrentRules());
assertEquals(4, listener3.getNbNotifications());
assertEquals(rules, listener3.getCurrentRules());
TestFilterListener listener2 = new TestFilterListener();
TestFilterListener listener3 = new TestFilterListener();
/* We attach then detach listener2. We never attach listener3 */
TestFilterListener listener2 = new TestFilterListener();
TestFilterListener listener3 = new TestFilterListener();
/* We attach then detach listener2. We never attach listener3 */
Set<EventRule> rules = Stream.of(
new EventRule(EVENT_NAME_A, LOG_LEVEL_UNSPECIFIED, null),
Set<EventRule> rules = Stream.of(
new EventRule(EVENT_NAME_A, LOG_LEVEL_UNSPECIFIED, null),
session.enableEvent(EVENT_NAME_A, null, false, null);
session.enableEvent(EVENT_NAME_B, null, false, null);
session.enableEvent(EVENT_NAME_A, null, false, null);
session.enableEvent(EVENT_NAME_B, null, false, null);
/* We should have received the "statedump" when registering */
assertEquals(2, listener2.getNbNotifications());
/* We should have received the "statedump" when registering */
assertEquals(2, listener2.getNbNotifications());
assertEquals(4, listener2.getNbNotifications());
assertEquals(rules2, listener2.getCurrentRules());
assertEquals(4, listener2.getNbNotifications());
assertEquals(rules2, listener2.getCurrentRules());