Search in sources :

Example 1 with TransactionEventsService

use of com.newrelic.agent.service.analytics.TransactionEventsService in project newrelic-java-agent by newrelic.

the class RPMServiceTest method createServiceManager.

private void createServiceManager(AgentConfig config, Map<String, Object> localSettings) {
    MockServiceManager serviceManager = new MockServiceManager();
    ServiceFactory.setServiceManager(serviceManager);
    ThreadService threadService = new ThreadService();
    serviceManager.setThreadService(threadService);
    ConfigService configService = ConfigServiceFactory.createConfigService(config, localSettings);
    serviceManager.setConfigService(configService);
    HarvestService harvestService = new MockHarvestService();
    serviceManager.setHarvestService(harvestService);
    TransactionService transactionService = new TransactionService();
    serviceManager.setTransactionService(transactionService);
    TransactionTraceService transactionTraceService = new TransactionTraceService();
    serviceManager.setTransactionTraceService(transactionTraceService);
    DatabaseService dbService = new DatabaseService();
    serviceManager.setDatabaseService(dbService);
    SqlTraceService sqlTraceService = new SqlTraceServiceImpl();
    serviceManager.setSqlTraceService(sqlTraceService);
    RPMConnectionService rpmConnectionService = new RPMConnectionServiceImpl();
    serviceManager.setRPMConnectionService(rpmConnectionService);
    ProfilerService profilerService = new ProfilerService();
    serviceManager.setProfilerService(profilerService);
    StatsService statsService = new StatsServiceImpl();
    serviceManager.setStatsService(statsService);
    EnvironmentService envService = new EnvironmentServiceImpl();
    serviceManager.setEnvironmentService(envService);
    MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
    serviceManager.setRPMServiceManager(rpmServiceManager);
    AttributesService attService = new AttributesService();
    serviceManager.setAttributesService(attService);
    UtilizationService utilService = new UtilizationService();
    serviceManager.setUtilizationService(utilService);
    TransactionDataToDistributedTraceIntrinsics transactionDataToDistributedTraceIntrinsics = mock(TransactionDataToDistributedTraceIntrinsics.class);
    when(transactionDataToDistributedTraceIntrinsics.buildDistributedTracingIntrinsics(any(TransactionData.class), anyBoolean())).thenReturn(Collections.<String, Object>emptyMap());
    TransactionEventsService transactionEventsService = new TransactionEventsService(transactionDataToDistributedTraceIntrinsics);
    serviceManager.setTransactionEventsService(transactionEventsService);
    serviceManager.setSpansEventService(mock(SpanEventsServiceImpl.class));
}
Also used : SqlTraceServiceImpl(com.newrelic.agent.sql.SqlTraceServiceImpl) UtilizationService(com.newrelic.agent.utilization.UtilizationService) RPMConnectionService(com.newrelic.agent.rpm.RPMConnectionService) StatsService(com.newrelic.agent.stats.StatsService) AttributesService(com.newrelic.agent.attributes.AttributesService) DatabaseService(com.newrelic.agent.database.DatabaseService) TransactionTraceService(com.newrelic.agent.trace.TransactionTraceService) TransactionDataToDistributedTraceIntrinsics(com.newrelic.agent.service.analytics.TransactionDataToDistributedTraceIntrinsics) SqlTraceService(com.newrelic.agent.sql.SqlTraceService) ConfigService(com.newrelic.agent.config.ConfigService) RPMConnectionServiceImpl(com.newrelic.agent.rpm.RPMConnectionServiceImpl) SpanEventsServiceImpl(com.newrelic.agent.service.analytics.SpanEventsServiceImpl) EnvironmentServiceImpl(com.newrelic.agent.environment.EnvironmentServiceImpl) StatsServiceImpl(com.newrelic.agent.stats.StatsServiceImpl) TransactionEventsService(com.newrelic.agent.service.analytics.TransactionEventsService) EnvironmentService(com.newrelic.agent.environment.EnvironmentService) ProfilerService(com.newrelic.agent.profile.ProfilerService)

Example 2 with TransactionEventsService

use of com.newrelic.agent.service.analytics.TransactionEventsService in project newrelic-java-agent by newrelic.

the class SegmentTest method createServiceManager.

private static void createServiceManager(Map<String, Object> map, ExpirationService expirationService) throws Exception {
    ConfigService configService = ConfigServiceFactory.createConfigServiceUsingSettings(map);
    MockServiceManager serviceManager = new MockServiceManager(configService);
    ServiceFactory.setServiceManager(serviceManager);
    ThreadService threadService = new ThreadService();
    serviceManager.setThreadService(threadService);
    serviceManager.setConfigService(configService);
    StatsService statsService = new StatsServiceImpl();
    serviceManager.setStatsService(statsService);
    MockCoreService agent = new MockCoreService();
    serviceManager.setCoreService(agent);
    HarvestService harvestService = new MockHarvestService();
    serviceManager.setHarvestService(harvestService);
    AsyncTransactionService asyncTxService = new AsyncTransactionService();
    serviceManager.setAsyncTransactionService(asyncTxService);
    TransactionService transactionService = new TransactionService(2, 1, 3, TimeUnit.SECONDS);
    serviceManager.setTransactionService(transactionService);
    EnvironmentService envService = new EnvironmentServiceImpl();
    serviceManager.setEnvironmentService(envService);
    TransactionTraceService transactionTraceService = new TransactionTraceService();
    serviceManager.setTransactionTraceService(transactionTraceService);
    SqlTraceService sqlTraceService = new SqlTraceServiceImpl();
    serviceManager.setSqlTraceService(sqlTraceService);
    serviceManager.setAttributesService(new AttributesService());
    DistributedTraceServiceImpl distributedTraceService = new DistributedTraceServiceImpl();
    Map<String, Object> configMap = ImmutableMap.<String, Object>builder().put("cross_application_tracer", ImmutableMap.builder().put("account_id", "12abc345").put("trusted_account_key", "12abc345").build()).build();
    distributedTraceService.connected(null, AgentConfigFactory.createAgentConfig(configMap, null, null));
    serviceManager.setDistributedTraceService(distributedTraceService);
    TransactionDataToDistributedTraceIntrinsics transactionDataToDistributedTraceIntrinsics = new TransactionDataToDistributedTraceIntrinsics(distributedTraceService);
    serviceManager.setTransactionEventsService(new TransactionEventsService(transactionDataToDistributedTraceIntrinsics));
    MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
    serviceManager.setRPMServiceManager(rpmServiceManager);
    serviceManager.setExpirationService(expirationService);
    SpanEventsService spanEventsService = SpanEventsServiceFactory.builder().configService(configService).reservoirManager(new MockSpanEventReservoirManager(configService)).transactionService(serviceManager.getTransactionService()).rpmServiceManager(serviceManager.getRPMServiceManager()).spanEventCreationDecider(new SpanEventCreationDecider(configService)).environmentService(envService).transactionDataToDistributedTraceIntrinsics(transactionDataToDistributedTraceIntrinsics).build();
    serviceManager.setSpansEventService(spanEventsService);
    serviceManager.start();
}
Also used : StatsService(com.newrelic.agent.stats.StatsService) TransactionDataToDistributedTraceIntrinsics(com.newrelic.agent.service.analytics.TransactionDataToDistributedTraceIntrinsics) SpanEventCreationDecider(com.newrelic.agent.service.analytics.SpanEventCreationDecider) StatsServiceImpl(com.newrelic.agent.stats.StatsServiceImpl) SqlTraceServiceImpl(com.newrelic.agent.sql.SqlTraceServiceImpl) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) DistributedTraceServiceImpl(com.newrelic.agent.tracing.DistributedTraceServiceImpl) AttributesService(com.newrelic.agent.attributes.AttributesService) SpanEventsService(com.newrelic.agent.service.analytics.SpanEventsService) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) TransactionTraceService(com.newrelic.agent.trace.TransactionTraceService) SqlTraceService(com.newrelic.agent.sql.SqlTraceService) ConfigService(com.newrelic.agent.config.ConfigService) EnvironmentServiceImpl(com.newrelic.agent.environment.EnvironmentServiceImpl) TransactionEventsService(com.newrelic.agent.service.analytics.TransactionEventsService) EnvironmentService(com.newrelic.agent.environment.EnvironmentService)

Example 3 with TransactionEventsService

use of com.newrelic.agent.service.analytics.TransactionEventsService in project newrelic-java-agent by newrelic.

the class TransactionTest method createServiceManager.

private static void createServiceManager(Map<String, Object> map) throws Exception {
    serviceManager = new MockServiceManager();
    ServiceFactory.setServiceManager(serviceManager);
    serviceManager.start();
    serviceManager.setThreadService(threadService);
    Map<String, Object> serverData = new HashMap<>();
    serverData.put(CrossProcessConfigImpl.CROSS_PROCESS_ID, "12345#56789");
    serverData.put(CrossProcessConfigImpl.APPLICATION_ID, "56789");
    serverData.put(CrossProcessConfigImpl.TRUSTED_ACCOUNT_IDS, "12345,9123");
    AgentConfig agentConfig = AgentHelper.createAgentConfig(true, map, serverData);
    ConfigService configService = ConfigServiceFactory.createConfigService(agentConfig, map);
    serviceManager.setConfigService(configService);
    StatsService statsService = new StatsServiceImpl();
    serviceManager.setStatsService(statsService);
    MockCoreService agent = new MockCoreService();
    serviceManager.setCoreService(agent);
    HarvestService harvestService = new MockHarvestService();
    serviceManager.setHarvestService(harvestService);
    TransactionService transactionService = new TransactionService();
    serviceManager.setTransactionService(transactionService);
    EnvironmentService envService = new EnvironmentServiceImpl();
    serviceManager.setEnvironmentService(envService);
    TransactionTraceService transactionTraceService = new TransactionTraceService();
    serviceManager.setTransactionTraceService(transactionTraceService);
    SqlTraceService sqlTraceService = new SqlTraceServiceImpl();
    serviceManager.setSqlTraceService(sqlTraceService);
    serviceManager.setAttributesService(new AttributesService());
    serviceManager.setAsyncTransactionService(new AsyncTransactionService());
    MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
    serviceManager.setRPMServiceManager(rpmServiceManager);
    DistributedTraceServiceImpl distributedTraceService = new DistributedTraceServiceImpl();
    serviceManager.setDistributedTraceService(distributedTraceService);
    distributedTraceService.start();
    TransactionDataToDistributedTraceIntrinsics transactionDataToDistributedTraceIntrinsics = new TransactionDataToDistributedTraceIntrinsics(distributedTraceService);
    serviceManager.setTransactionEventsService(new TransactionEventsService(transactionDataToDistributedTraceIntrinsics));
    serviceManager.setExpirationService(new SegmentTest.InlineExpirationService());
    AgentBridge.instrumentation = new InstrumentationImpl(Agent.LOG);
    AgentBridge.agent = new AgentImpl(Agent.LOG);
    List<ConnectionListener> connectionListeners = rpmServiceManager.getConnectionListeners();
    for (ConnectionListener connectionListener : connectionListeners) {
        connectionListener.connected(rpmServiceManager.getRPMService(), agentConfig);
    }
}
Also used : TransactionDataToDistributedTraceIntrinsics(com.newrelic.agent.service.analytics.TransactionDataToDistributedTraceIntrinsics) SegmentTest(com.newrelic.agent.transaction.SegmentTest) SqlTraceServiceImpl(com.newrelic.agent.sql.SqlTraceServiceImpl) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) InstrumentationImpl(com.newrelic.agent.instrumentation.InstrumentationImpl) DistributedTraceServiceImpl(com.newrelic.agent.tracing.DistributedTraceServiceImpl) AttributesService(com.newrelic.agent.attributes.AttributesService) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) TransactionTraceService(com.newrelic.agent.trace.TransactionTraceService) SqlTraceService(com.newrelic.agent.sql.SqlTraceService) EnvironmentServiceImpl(com.newrelic.agent.environment.EnvironmentServiceImpl) TransactionEventsService(com.newrelic.agent.service.analytics.TransactionEventsService) EnvironmentService(com.newrelic.agent.environment.EnvironmentService)

Example 4 with TransactionEventsService

use of com.newrelic.agent.service.analytics.TransactionEventsService in project newrelic-java-agent by newrelic.

the class TransactionAsyncUtility method createServiceManager.

public static void createServiceManager(Map<String, Object> map) throws Exception {
    ConfigService configService = ConfigServiceFactory.createConfigServiceUsingSettings(map);
    MockServiceManager serviceManager = new MockServiceManager(configService);
    ServiceFactory.setServiceManager(serviceManager);
    ThreadService threadService = new ThreadService();
    serviceManager.setThreadService(threadService);
    MockCoreService agent = new MockCoreService();
    serviceManager.setCoreService(agent);
    HarvestService harvestService = new MockHarvestService();
    serviceManager.setHarvestService(harvestService);
    EnvironmentService envService = new EnvironmentServiceImpl();
    serviceManager.setEnvironmentService(envService);
    AsyncTransactionService asyncTxService = new AsyncTransactionService();
    serviceManager.setAsyncTransactionService(asyncTxService);
    serviceManager.setStatsService(new StatsServiceImpl());
    TransactionService transactionService = new TransactionService();
    serviceManager.setTransactionService(transactionService);
    TransactionTraceService transactionTraceService = new TransactionTraceService();
    serviceManager.setTransactionTraceService(transactionTraceService);
    SqlTraceService sqlTraceService = new SqlTraceServiceImpl();
    serviceManager.setSqlTraceService(sqlTraceService);
    serviceManager.setAttributesService(new AttributesService());
    MockRPMServiceManager rpmServiceManager = new MockRPMServiceManager();
    serviceManager.setRPMServiceManager(rpmServiceManager);
    DistributedTraceServiceImpl distributedTraceService = new DistributedTraceServiceImpl();
    serviceManager.setDistributedTraceService(distributedTraceService);
    TransactionDataToDistributedTraceIntrinsics transactionDataToDistributedTraceIntrinsics = new TransactionDataToDistributedTraceIntrinsics(distributedTraceService);
    serviceManager.setTransactionEventsService(new TransactionEventsService(transactionDataToDistributedTraceIntrinsics));
    serviceManager.setExpirationService(new ExpirationService());
    serviceManager.start();
}
Also used : SqlTraceServiceImpl(com.newrelic.agent.sql.SqlTraceServiceImpl) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) DistributedTraceServiceImpl(com.newrelic.agent.tracing.DistributedTraceServiceImpl) AttributesService(com.newrelic.agent.attributes.AttributesService) AsyncTransactionService(com.newrelic.agent.service.async.AsyncTransactionService) TransactionTraceService(com.newrelic.agent.trace.TransactionTraceService) TransactionDataToDistributedTraceIntrinsics(com.newrelic.agent.service.analytics.TransactionDataToDistributedTraceIntrinsics) SqlTraceService(com.newrelic.agent.sql.SqlTraceService) ConfigService(com.newrelic.agent.config.ConfigService) EnvironmentServiceImpl(com.newrelic.agent.environment.EnvironmentServiceImpl) StatsServiceImpl(com.newrelic.agent.stats.StatsServiceImpl) TransactionEventsService(com.newrelic.agent.service.analytics.TransactionEventsService) EnvironmentService(com.newrelic.agent.environment.EnvironmentService)

Example 5 with TransactionEventsService

use of com.newrelic.agent.service.analytics.TransactionEventsService in project newrelic-java-agent by newrelic.

the class DistributedTraceServiceImplTest method testShouldSampleFirst10.

@Test
public void testShouldSampleFirst10() {
    TransactionEventsService transactionEventsService = Mockito.mock(TransactionEventsService.class);
    serviceManager.setTransactionEventsService(transactionEventsService);
    distributedTraceService = new DistributedTraceServiceImpl();
    serviceManager.setDistributedTraceService(distributedTraceService);
    DistributedSamplingPriorityQueue reservoir = Mockito.mock(DistributedSamplingPriorityQueue.class);
    doReturn(reservoir).when(transactionEventsService).getOrCreateDistributedSamplingReservoir("Test");
    when(reservoir.getTarget()).thenReturn(10);
    for (int i = 0; i < 10; i++) {
        doReturn(i + 1).when(reservoir).getNumberOfTries();
        assertTrue(DistributedTraceUtil.isSampledPriority(DistributedTraceServiceImplTest.distributedTraceService.calculatePriority(null, reservoir)));
    }
    // Now that we've sampled the first 10, the rest will be ignored until after the harvest
    doReturn(100001).when(reservoir).getNumberOfTries();
    doReturn(10).when(reservoir).getDecided();
    // fake a very high target to ensure a sample later on
    doReturn(100000).when(reservoir).getTarget();
    assertTrue(distributedTraceService.calculatePriority(null, reservoir) < 1.0f);
    // Fake a harvest
    distributedTraceService.beforeHarvest("Test", null);
    // We should have "adaptively" sampled at least one more trace
    assertTrue(DistributedTraceUtil.isSampledPriority(DistributedTraceServiceImplTest.distributedTraceService.calculatePriority(null, reservoir)));
}
Also used : TransactionEventsService(com.newrelic.agent.service.analytics.TransactionEventsService) DistributedSamplingPriorityQueue(com.newrelic.agent.service.analytics.DistributedSamplingPriorityQueue) Test(org.junit.Test)

Aggregations

TransactionEventsService (com.newrelic.agent.service.analytics.TransactionEventsService)18 TransactionDataToDistributedTraceIntrinsics (com.newrelic.agent.service.analytics.TransactionDataToDistributedTraceIntrinsics)15 AttributesService (com.newrelic.agent.attributes.AttributesService)14 TransactionTraceService (com.newrelic.agent.trace.TransactionTraceService)14 ConfigService (com.newrelic.agent.config.ConfigService)12 EnvironmentServiceImpl (com.newrelic.agent.environment.EnvironmentServiceImpl)12 StatsServiceImpl (com.newrelic.agent.stats.StatsServiceImpl)11 DistributedTraceServiceImpl (com.newrelic.agent.tracing.DistributedTraceServiceImpl)11 EnvironmentService (com.newrelic.agent.environment.EnvironmentService)10 TransactionService (com.newrelic.agent.TransactionService)8 SqlTraceService (com.newrelic.agent.sql.SqlTraceService)8 SqlTraceServiceImpl (com.newrelic.agent.sql.SqlTraceServiceImpl)7 StatsService (com.newrelic.agent.stats.StatsService)7 MockRPMServiceManager (com.newrelic.agent.MockRPMServiceManager)6 MockServiceManager (com.newrelic.agent.MockServiceManager)6 ThreadService (com.newrelic.agent.ThreadService)6 HarvestService (com.newrelic.agent.HarvestService)5 AsyncTransactionService (com.newrelic.agent.service.async.AsyncTransactionService)5 MockCoreService (com.newrelic.agent.MockCoreService)4 MockHarvestService (com.newrelic.agent.MockHarvestService)4