use of com.newrelic.agent.MockServiceManager in project newrelic-java-agent by newrelic.
the class ProfileSessionTest method singleSample.
@Test
public void singleSample() throws Exception {
Map<String, Object> config = ProfilerServiceTest.createAgentConfig(true);
MockServiceManager serviceManager = createServiceManager(config);
MockRPMService rpmService = new MockRPMService();
MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
serviceManager.setRPMServiceManager(rpmServiceManager);
rpmService.setApplicationName("Unit Test");
rpmServiceManager.setRPMService(rpmService);
ProfilerService profilerService = serviceManager.getProfilerService();
ProfilerParameters parameters = new ProfilerParameters(5L, 100L, 100L, false, false, false, null, null);
ProfileSession session = new ProfileSession(profilerService, parameters);
session.start();
LatchingRunnable.drain(profilerService.getScheduledExecutorService());
Assert.assertTrue(session.isDone());
Assert.assertNotNull(session.getProfile());
Assert.assertEquals(1, session.getProfile().getSampleCount());
Assert.assertEquals(parameters.getProfileId(), session.getProfileId());
Assert.assertNull(profilerService.getCurrentSession());
Assert.assertEquals(1, rpmService.getProfiles().size());
}
use of com.newrelic.agent.MockServiceManager in project newrelic-java-agent by newrelic.
the class ProfileSessionTest method stopSessionNoReport.
@Test
public void stopSessionNoReport() throws Exception {
Map<String, Object> config = ProfilerServiceTest.createAgentConfig(true);
MockServiceManager serviceManager = createServiceManager(config);
MockRPMService rpmService = new MockRPMService();
MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
serviceManager.setRPMServiceManager(rpmServiceManager);
rpmService.setApplicationName("Unit Test");
rpmServiceManager.setRPMService(rpmService);
ProfilerService profilerService = serviceManager.getProfilerService();
ProfilerParameters parameters = new ProfilerParameters(5L, 100L, 300000L, false, false, false, null, null);
ProfileSession session = new ProfileSession(profilerService, parameters);
session.start();
Thread.sleep(1000);
session.stop(false);
LatchingRunnable.drain(profilerService.getScheduledExecutorService());
Assert.assertTrue(session.isDone());
Assert.assertNotNull(session.getProfile());
Assert.assertTrue(session.getProfile().getSampleCount() > 1);
Assert.assertEquals(parameters.getProfileId(), session.getProfileId());
Assert.assertNull(profilerService.getCurrentSession());
Assert.assertTrue(rpmService.getProfiles().isEmpty());
}
use of com.newrelic.agent.MockServiceManager in project newrelic-java-agent by newrelic.
the class ProfilerServiceTest method stopProfilerAndReportData.
@Test
public void stopProfilerAndReportData() throws Exception {
MockServiceManager serviceManager = createServiceManager(createAgentConfig(true));
MockRPMService rpmService = new MockRPMService();
MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
serviceManager.setRPMServiceManager(rpmServiceManager);
rpmService.setApplicationName("Unit Test");
rpmServiceManager.setRPMService(rpmService);
long profileId = 5;
ProfilerParameters parameters = new ProfilerParameters(profileId, 100L, 200000L, false, false, false, null, null);
ProfilerService profilerService = serviceManager.getProfilerService();
profilerService.startProfiler(parameters);
Thread.sleep(1000);
profilerService.stopProfiler(profileId, true);
LatchingRunnable.drain(profilerService.getScheduledExecutorService());
Assert.assertNull(profilerService.getCurrentSession());
Assert.assertEquals(1, rpmService.getProfiles().size());
}
use of com.newrelic.agent.MockServiceManager in project newrelic-java-agent by newrelic.
the class ProfilerServiceTest method createServiceManager.
private MockServiceManager createServiceManager(Map<String, Object> map) throws Exception {
MockServiceManager serviceManager = new MockServiceManager();
ServiceFactory.setServiceManager(serviceManager);
ThreadService threadService = new ThreadService();
serviceManager.setThreadService(threadService);
ConfigService configService = ConfigServiceFactory.createConfigService(AgentConfigImpl.createAgentConfig(map), map);
serviceManager.setConfigService(configService);
TransactionService transactionService = new TransactionService();
serviceManager.setTransactionService(transactionService);
ProfilerService profilerService = new ProfilerService();
serviceManager.setProfilerService(profilerService);
return serviceManager;
}
use of com.newrelic.agent.MockServiceManager in project newrelic-java-agent by newrelic.
the class ProfilerServiceTest method testAgentInstrumentationSample.
@Test
public void testAgentInstrumentationSample() throws Exception {
MockServiceManager serviceManager = createServiceManager(createAgentConfig(true));
MockRPMService rpmService = new MockRPMService();
MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
serviceManager.setRPMServiceManager(rpmServiceManager);
rpmService.setApplicationName("Unit Test");
rpmServiceManager.setRPMService(rpmService);
ProfilerParameters parameters = new ProfilerParameters(5L, 500L, 500L, false, false, true, null, null);
ProfilerService profilerService = serviceManager.getProfilerService();
profilerService.startProfiler(parameters);
LatchingRunnable.drain(profilerService.getScheduledExecutorService());
Assert.assertNull(profilerService.getCurrentSession());
Assert.assertEquals(1, rpmService.getProfiles().size());
ProfileTree profileTree = rpmService.getProfiles().get(0).getProfileTree(ThreadType.BasicThreadType.AGENT_INSTRUMENTATION);
Assert.assertTrue(profileTree.getRootSegments().size() > 0);
}
Aggregations