package org.skywalking.apm.agent.core.sampling; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Test; import org.skywalking.apm.agent.core.conf.Config; import org.skywalking.apm.agent.core.boot.ServiceManager; import org.skywalking.apm.trace.TraceSegment; /** * @author wusheng */ public class SamplingServiceTest { @Test public void test50Percent() { Config.Agent.SAMPLING_CYCLE = 2; ServiceManager.INSTANCE.boot(); TraceSegment segment = new TraceSegment(); Assert.assertTrue(segment.isSampled()); SamplingService service = ServiceManager.INSTANCE.findService(SamplingService.class); service.trySampling(segment); Assert.assertFalse(segment.isSampled()); segment = new TraceSegment(); service.trySampling(segment); Assert.assertTrue(segment.isSampled()); segment = new TraceSegment(); service.trySampling(segment); Assert.assertFalse(segment.isSampled()); } @AfterClass public static void clear() { Config.Agent.SAMPLING_CYCLE = 1; ServiceManager.INSTANCE.boot(); } }