Turn LttngSession(Control) into a non-static class
[lttng-ust-java-tests.git] / src / org / lttng / ust / agent / benchmarks / jul / handler / lttng / old / OldLttngJulHandlerTracingEnabledBenchmark.java
CommitLineData
da8308fe 1package org.lttng.ust.agent.benchmarks.jul.handler.lttng.old;
86316987
AM
2
3import static org.junit.Assert.assertTrue;
4import static org.junit.Assert.fail;
5
86316987
AM
6import java.lang.reflect.Field;
7
8import org.junit.After;
9import org.junit.Before;
10import org.lttng.ust.agent.LTTngAgent;
da8308fe
AM
11import org.lttng.ust.agent.benchmarks.jul.handler.AbstractJulBenchmark;
12import org.lttng.ust.agent.jul.LttngLogHandler;
8576633f
AM
13import org.lttng.ust.agent.utils.LttngSession;
14import org.lttng.ust.agent.utils.LttngSession.Domain;
86316987
AM
15
16@SuppressWarnings("deprecation")
17public class OldLttngJulHandlerTracingEnabledBenchmark extends AbstractJulBenchmark {
18
8576633f 19 private LttngSession session;
da8308fe 20 private LttngLogHandler agentHandler;
86316987
AM
21
22 @Before
8576633f 23 public void testSetup() {
da8308fe 24 LTTngAgent agentInstance = LTTngAgent.getLTTngAgent();
86316987
AM
25
26 /*
27 * The "old API" works by attaching a handler managed by the agent to
da8308fe 28 * the root JUL logger. This causes problems here, because we use
86316987
AM
29 * logger.setUserParentHandler(false), which does not trigger the
30 * handler as would be expected.
31 *
32 * Instead we will retrieve this handler through reflection, and attach
33 * it to our own logger here for the duration of the test.
34 */
35 try {
da8308fe
AM
36 Field julHandlerField = LTTngAgent.class.getDeclaredField("julHandler");
37 julHandlerField.setAccessible(true);
38 agentHandler = (LttngLogHandler) julHandlerField.get(agentInstance);
86316987 39
da8308fe 40 logger.addHandler(agentHandler);
86316987
AM
41
42 } catch (ReflectiveOperationException e) {
43 fail();
44 }
45
8576633f
AM
46 session = new LttngSession(null, Domain.JUL);
47 assertTrue(session.enableAllEvents());
48 assertTrue(session.start());
86316987
AM
49 }
50
51 @After
52 public void testTeardown() {
8576633f
AM
53 assertTrue(session.stop());
54 session.close();
86316987 55
da8308fe
AM
56 logger.removeHandler(agentHandler);
57 LTTngAgent.dispose();
86316987
AM
58 }
59}
This page took 0.025065 seconds and 4 git commands to generate.