Search in sources :

Example 6 with ConfigServiceImpl

use of com.newrelic.agent.config.ConfigServiceImpl in project newrelic-java-agent by newrelic.

the class AgentLinkingMetadataTest method getLogEventLinkingMetadataWithEmptyTraceAttributes.

@Test
public void getLogEventLinkingMetadataWithEmptyTraceAttributes() {
    // Given
    final String expectedTraceId = "";
    final String expectedSpanId = "";
    final String expectedEntityGuid = "entityGuid91011";
    final String expectedEntityName = "entityName91011";
    TraceMetadataImpl traceMetadataMock = mock(TraceMetadataImpl.class);
    ServiceManagerImpl serviceManagerMock = mock(ServiceManagerImpl.class);
    RPMServiceManagerImpl rpmServiceManagerMock = mock(RPMServiceManagerImpl.class);
    RPMService rpmServiceMock = mock(RPMService.class);
    ConfigServiceImpl configServiceMock = mock(ConfigServiceImpl.class);
    AgentConfigImpl agentConfigMock = mock(AgentConfigImpl.class);
    ServiceFactory.setServiceManager(serviceManagerMock);
    // When
    when(traceMetadataMock.getTraceId()).thenReturn(expectedTraceId);
    when(traceMetadataMock.getSpanId()).thenReturn(expectedSpanId);
    when(serviceManagerMock.getRPMServiceManager()).thenReturn(rpmServiceManagerMock);
    when(serviceManagerMock.getConfigService()).thenReturn(configServiceMock);
    when(rpmServiceManagerMock.getRPMService()).thenReturn(rpmServiceMock);
    when(configServiceMock.getDefaultAgentConfig()).thenReturn(agentConfigMock);
    when(agentConfigMock.getApplicationName()).thenReturn(expectedEntityName);
    when(rpmServiceMock.getEntityGuid()).thenReturn(expectedEntityGuid);
    // Then
    Map<String, String> linkingMetadata = AgentLinkingMetadata.getLogEventLinkingMetadata(traceMetadataMock, ServiceFactory.getConfigService(), ServiceFactory.getRPMService());
    assertFalse("linkingMetadata map shouldn't be empty", linkingMetadata.isEmpty());
    // Can't assert on a specific hostname value as it will resolve to the actual hostname of the machine running the test
    assertFalse("hostname shouldn't be empty", linkingMetadata.get(AgentLinkingMetadata.HOSTNAME).isEmpty());
    assertFalse("entity.type should not be included in LogEvent linking metadata", linkingMetadata.containsKey(AgentLinkingMetadata.ENTITY_TYPE));
    assertEquals(expectedEntityName, linkingMetadata.get(AgentLinkingMetadata.ENTITY_NAME));
    assertEquals(expectedEntityGuid, linkingMetadata.get(AgentLinkingMetadata.ENTITY_GUID));
    // trace.id and span.id would be empty values if getLogEventLinkingMetadata was called outside of a transaction, in which case they are omitted
    assertFalse("empty trace.id value should not be included in LogEvent linking metadata", linkingMetadata.containsKey(AgentLinkingMetadata.TRACE_ID));
    assertFalse("empty span.id value should not be included in LogEvent linking metadata", linkingMetadata.containsKey(AgentLinkingMetadata.SPAN_ID));
}
Also used : AgentConfigImpl(com.newrelic.agent.config.AgentConfigImpl) ServiceManagerImpl(com.newrelic.agent.service.ServiceManagerImpl) ConfigServiceImpl(com.newrelic.agent.config.ConfigServiceImpl) Test(org.junit.Test)

Example 7 with ConfigServiceImpl

use of com.newrelic.agent.config.ConfigServiceImpl in project newrelic-java-agent by newrelic.

the class AgentLinkingMetadataTest method getLinkingMetadataWithEmptyTraceAttributes.

@Test
public void getLinkingMetadataWithEmptyTraceAttributes() {
    // Given
    final String expectedTraceId = "";
    final String expectedSpanId = "";
    final String expectedEntityGuid = "entityGuid91011";
    final String expectedEntityName = "entityName91011";
    final String expectedEntityType = AgentLinkingMetadata.ENTITY_TYPE_DEFAULT;
    TraceMetadataImpl traceMetadataMock = mock(TraceMetadataImpl.class);
    ServiceManagerImpl serviceManagerMock = mock(ServiceManagerImpl.class);
    RPMServiceManagerImpl rpmServiceManagerMock = mock(RPMServiceManagerImpl.class);
    RPMService rpmServiceMock = mock(RPMService.class);
    ConfigServiceImpl configServiceMock = mock(ConfigServiceImpl.class);
    AgentConfigImpl agentConfigMock = mock(AgentConfigImpl.class);
    ServiceFactory.setServiceManager(serviceManagerMock);
    // When
    when(traceMetadataMock.getTraceId()).thenReturn(expectedTraceId);
    when(traceMetadataMock.getSpanId()).thenReturn(expectedSpanId);
    when(serviceManagerMock.getRPMServiceManager()).thenReturn(rpmServiceManagerMock);
    when(serviceManagerMock.getConfigService()).thenReturn(configServiceMock);
    when(rpmServiceManagerMock.getRPMService()).thenReturn(rpmServiceMock);
    when(configServiceMock.getDefaultAgentConfig()).thenReturn(agentConfigMock);
    when(agentConfigMock.getApplicationName()).thenReturn(expectedEntityName);
    when(rpmServiceMock.getEntityGuid()).thenReturn(expectedEntityGuid);
    // Then
    Map<String, String> linkingMetadata = AgentLinkingMetadata.getLinkingMetadata(traceMetadataMock, ServiceFactory.getConfigService(), ServiceFactory.getRPMService());
    assertFalse("linkingMetadata map shouldn't be empty", linkingMetadata.isEmpty());
    // Can't assert on a specific hostname value as it will resolve to the actual hostname of the machine running the test
    assertFalse("hostname shouldn't be empty", linkingMetadata.get(AgentLinkingMetadata.HOSTNAME).isEmpty());
    assertEquals(expectedEntityGuid, linkingMetadata.get(AgentLinkingMetadata.ENTITY_GUID));
    assertEquals(expectedEntityName, linkingMetadata.get(AgentLinkingMetadata.ENTITY_NAME));
    assertEquals(expectedEntityType, linkingMetadata.get(AgentLinkingMetadata.ENTITY_TYPE));
    // trace.id and span.id would be empty values if getLinkingMetadata was called outside of a transaction.
    // With the getLinkingMetadata API the returned map includes keys with empty values
    assertEquals(expectedTraceId, linkingMetadata.get(AgentLinkingMetadata.TRACE_ID));
    assertEquals(expectedSpanId, linkingMetadata.get(AgentLinkingMetadata.SPAN_ID));
}
Also used : AgentConfigImpl(com.newrelic.agent.config.AgentConfigImpl) ServiceManagerImpl(com.newrelic.agent.service.ServiceManagerImpl) ConfigServiceImpl(com.newrelic.agent.config.ConfigServiceImpl) Test(org.junit.Test)

Example 8 with ConfigServiceImpl

use of com.newrelic.agent.config.ConfigServiceImpl in project newrelic-java-agent by newrelic.

the class AgentLinkingMetadataTest method getLogEventLinkingMetadata.

@Test
public void getLogEventLinkingMetadata() {
    // Given
    final String expectedTraceId = "traceId1234";
    final String expectedSpanId = "spanId5678";
    final String expectedEntityGuid = "entityGuid91011";
    final String expectedEntityName = "entityName91011";
    TraceMetadataImpl traceMetadataMock = mock(TraceMetadataImpl.class);
    ServiceManagerImpl serviceManagerMock = mock(ServiceManagerImpl.class);
    RPMServiceManagerImpl rpmServiceManagerMock = mock(RPMServiceManagerImpl.class);
    RPMService rpmServiceMock = mock(RPMService.class);
    ConfigServiceImpl configServiceMock = mock(ConfigServiceImpl.class);
    AgentConfigImpl agentConfigMock = mock(AgentConfigImpl.class);
    ServiceFactory.setServiceManager(serviceManagerMock);
    // When
    when(traceMetadataMock.getTraceId()).thenReturn(expectedTraceId);
    when(traceMetadataMock.getSpanId()).thenReturn(expectedSpanId);
    when(serviceManagerMock.getRPMServiceManager()).thenReturn(rpmServiceManagerMock);
    when(serviceManagerMock.getConfigService()).thenReturn(configServiceMock);
    when(rpmServiceManagerMock.getRPMService()).thenReturn(rpmServiceMock);
    when(configServiceMock.getDefaultAgentConfig()).thenReturn(agentConfigMock);
    when(agentConfigMock.getApplicationName()).thenReturn(expectedEntityName);
    when(rpmServiceMock.getEntityGuid()).thenReturn(expectedEntityGuid);
    // Then
    Map<String, String> linkingMetadata = AgentLinkingMetadata.getLogEventLinkingMetadata(traceMetadataMock, ServiceFactory.getConfigService(), ServiceFactory.getRPMService());
    assertFalse("linkingMetadata map shouldn't be empty", linkingMetadata.isEmpty());
    // Can't assert on a specific hostname value as it will resolve to the actual hostname of the machine running the test
    assertFalse("hostname shouldn't be empty", linkingMetadata.get(AgentLinkingMetadata.HOSTNAME).isEmpty());
    assertFalse("entity.type should not be included in LogEvent linking metadata", linkingMetadata.containsKey(AgentLinkingMetadata.ENTITY_TYPE));
    assertEquals(expectedEntityName, linkingMetadata.get(AgentLinkingMetadata.ENTITY_NAME));
    assertEquals(expectedEntityGuid, linkingMetadata.get(AgentLinkingMetadata.ENTITY_GUID));
    assertEquals(expectedTraceId, linkingMetadata.get(AgentLinkingMetadata.TRACE_ID));
    assertEquals(expectedSpanId, linkingMetadata.get(AgentLinkingMetadata.SPAN_ID));
}
Also used : AgentConfigImpl(com.newrelic.agent.config.AgentConfigImpl) ServiceManagerImpl(com.newrelic.agent.service.ServiceManagerImpl) ConfigServiceImpl(com.newrelic.agent.config.ConfigServiceImpl) Test(org.junit.Test)

Aggregations

ConfigServiceImpl (com.newrelic.agent.config.ConfigServiceImpl)8 Test (org.junit.Test)6 AgentConfigImpl (com.newrelic.agent.config.AgentConfigImpl)5 ServiceManagerImpl (com.newrelic.agent.service.ServiceManagerImpl)4 TransactionData (com.newrelic.agent.TransactionData)2 AgentConfig (com.newrelic.agent.config.AgentConfig)2 EventTestHelper.generateTransactionData (com.newrelic.agent.service.analytics.EventTestHelper.generateTransactionData)2 TransactionStats (com.newrelic.agent.stats.TransactionStats)2 HashMap (java.util.HashMap)2 IRPMService (com.newrelic.agent.IRPMService)1 ConfigService (com.newrelic.agent.config.ConfigService)1 DistributedTraceServiceImpl (com.newrelic.agent.tracing.DistributedTraceServiceImpl)1 Logger (com.newrelic.api.agent.Logger)1 Map (java.util.Map)1