use of com.newrelic.agent.HarvestServiceImpl in project newrelic-java-agent by newrelic.
the class TransactionEventsServiceTest method testTransactionEventFasterHarvest.
@Test
public void testTransactionEventFasterHarvest() throws Exception {
Map<String, Object> config = new HashMap<>();
config.put(AgentConfigImpl.APP_NAME, APP_NAME);
EventTestHelper.setAppName(APP_NAME);
EventTestHelper.createServiceManager(config);
service = new TransactionEventsService(mock(TransactionDataToDistributedTraceIntrinsics.class));
((MockServiceManager) ServiceFactory.getServiceManager()).setTransactionEventsService(service);
environmentService = new EnvironmentServiceImpl();
((MockServiceManager) ServiceFactory.getServiceManager()).setEnvironmentService(environmentService);
ServiceManager serviceManager = spy(ServiceFactory.getServiceManager());
ServiceFactory.setServiceManager(serviceManager);
HarvestServiceImpl harvestService = spy(new HarvestServiceImpl());
doReturn(harvestService).when(serviceManager).getHarvestService();
doReturn(0L).when(harvestService).getInitialDelay();
service.addHarvestableToService(APP_NAME);
service.configureHarvestables(60, 3);
assertEquals(3, service.getMaxSamplesStored());
service.doStart();
Map<String, Object> connectionInfo = new HashMap<>();
Map<String, Object> eventHarvest = new HashMap<>();
Map<String, Object> harvestLimits = new HashMap<>();
// 5 is the lowest allowable value
eventHarvest.put("report_period_ms", 5000L);
eventHarvest.put("harvest_limits", harvestLimits);
harvestLimits.put("analytic_event_data", 100L);
connectionInfo.put("event_harvest_config", eventHarvest);
harvestService.startHarvestables(ServiceFactory.getRPMService(), AgentConfigImpl.createAgentConfig(connectionInfo));
getEventData(APP_NAME);
Thread.sleep(500);
DistributedSamplingPriorityQueue<TransactionEvent> currentEventData = createAndSendTransaction();
assertEquals(1, currentEventData.size());
Thread.sleep(6000);
checkForEvent();
assertEquals(1, currentEventData.size());
createAndSendTransaction();
Thread.sleep(6000);
checkForEvent();
}
use of com.newrelic.agent.HarvestServiceImpl in project newrelic-java-agent by newrelic.
the class DistributedTraceServiceImplTest method before.
@Before
public void before() throws Exception {
Map<String, Object> config = new HashMap<>();
config.put(AgentConfigImpl.APP_NAME, "Test");
Map<String, Object> dtConfig = new HashMap<>();
dtConfig.put("enabled", true);
config.put("distributed_tracing", dtConfig);
Map<String, Object> spanConfig = new HashMap<>();
spanConfig.put("collect_span_events", true);
config.put("span_events", spanConfig);
ConfigService configService = ConfigServiceFactory.createConfigService(AgentConfigImpl.createAgentConfig(config), Collections.<String, Object>emptyMap());
serviceManager = new MockServiceManager(configService);
ServiceFactory.setServiceManager(serviceManager);
serviceManager.setConfigService(configService);
serviceManager.setTransactionTraceService(new TransactionTraceService());
serviceManager.setTransactionService(new TransactionService());
distributedTraceService = new DistributedTraceServiceImpl();
serviceManager.setDistributedTraceService(distributedTraceService);
TransactionDataToDistributedTraceIntrinsics transactionDataToDistributedTraceIntrinsics = new TransactionDataToDistributedTraceIntrinsics(distributedTraceService);
serviceManager.setTransactionEventsService(new TransactionEventsService(transactionDataToDistributedTraceIntrinsics));
serviceManager.setHarvestService(new HarvestServiceImpl());
serviceManager.setStatsService(new StatsServiceImpl());
rpmServiceManager = new MockRPMServiceManager();
serviceManager.setRPMServiceManager(rpmServiceManager);
ServiceFactory.getServiceManager().start();
}
Aggregations