Search in sources :

Example 6 with InstrumentationProxy

use of com.newrelic.agent.InstrumentationProxy in project newrelic-java-agent by newrelic.

the class RetransformPointCutTest method retransformPointCutClass.

@Test
public void retransformPointCutClass() throws UnmodifiableClassException {
    InstrumentationProxy ip = ServiceFactory.getCoreService().getInstrumentation();
    ip.retransformClasses(CLASS_LOADED_BEFORE_AGENT);
    Assert.assertTrue(CLASS_LOADED_BEFORE_AGENT.getName() + " should have been retransformed.", PointCutClassTransformer.isInstrumented(CLASS_LOADED_BEFORE_AGENT));
    ip.retransformClasses(CLASS_LOADED_AFTER_AGENT);
    Assert.assertTrue(CLASS_LOADED_AFTER_AGENT.getName() + " should have been retransformed.", PointCutClassTransformer.isInstrumented(CLASS_LOADED_AFTER_AGENT));
}
Also used : InstrumentationProxy(com.newrelic.agent.InstrumentationProxy) Test(org.junit.Test)

Example 7 with InstrumentationProxy

use of com.newrelic.agent.InstrumentationProxy in project newrelic-java-agent by newrelic.

the class HttpCommonsTest method httpURLConnection.

@Test
public void httpURLConnection() throws Exception {
    InstrumentationProxy instrProxy = ServiceFactory.getCoreService().getInstrumentation();
    if (!instrProxy.isBootstrapClassInstrumentationEnabled()) {
        return;
    }
    httpURLConnectionTx();
    Set<String> metrics = AgentHelper.getMetrics();
    assertTrue(metrics.toString(), metrics.contains("External/" + HOST + "/HttpURLConnection"));
    Map<String, Integer> metricCounts = getMetricCounts(MetricName.create("External/" + HOST + "/HttpURLConnection", "OtherTransaction/Custom/test.newrelic.test.agent.HttpCommonsTest/httpURLConnectionTx"));
    assertEquals(1, (int) metricCounts.get("External/" + HOST + "/HttpURLConnection"));
}
Also used : InstrumentationProxy(com.newrelic.agent.InstrumentationProxy) Test(org.junit.Test)

Example 8 with InstrumentationProxy

use of com.newrelic.agent.InstrumentationProxy in project newrelic-java-agent by newrelic.

the class ExtensionServiceTest method setUpAgent.

@Before
public void setUpAgent() throws Exception {
    Map<String, Object> configMap = new HashMap<>();
    configMap.put(AgentConfigImpl.APP_NAME, EXTENSION_NAME);
    AgentConfig config = AgentConfigImpl.createAgentConfig(configMap);
    configService = ConfigServiceFactory.createConfigService(config, Collections.<String, Object>emptyMap());
    serviceManager = new MockServiceManager(configService);
    ServiceFactory.setServiceManager(serviceManager);
    final InstrumentationProxy instrumentationProxy = Mockito.mock(InstrumentationProxy.class);
    serviceManager.setCoreService(new MockCoreService() {

        @Override
        public InstrumentationProxy getInstrumentation() {
            return instrumentationProxy;
        }
    });
    Mockito.when(instrumentationProxy.isRetransformClassesSupported()).thenReturn(true);
    Mockito.when(instrumentationProxy.getAllLoadedClasses()).thenReturn(new Class[] {});
    extensionService = new ExtensionService(configService, ExtensionsLoadedListener.NOOP);
    serviceManager.setExtensionService(extensionService);
    serviceManager.setJmxService(Mockito.mock(JmxService.class));
    ClassTransformerService classTransformerService = serviceManager.getClassTransformerService();
    ClassRetransformer mockRetransformer = Mockito.mock(ClassRetransformer.class);
    Mockito.when(classTransformerService.getLocalRetransformer()).thenReturn(mockRetransformer);
    InstrumentationContextManager mockContextManager = Mockito.mock(InstrumentationContextManager.class);
    Mockito.when(classTransformerService.getContextManager()).thenReturn(mockContextManager);
    ClassWeaverService mockWeaverService = Mockito.mock(ClassWeaverService.class);
    Mockito.when(mockContextManager.getClassWeaverService()).thenReturn(mockWeaverService);
    Mockito.when(mockWeaverService.reloadExternalWeavePackages(Mockito.<File>anyCollection(), Mockito.<File>anyCollection())).thenReturn(new Runnable() {

        @Override
        public void run() {
        }
    });
}
Also used : ClassRetransformer(com.newrelic.agent.instrumentation.custom.ClassRetransformer) HashMap(java.util.HashMap) InstrumentationProxy(com.newrelic.agent.InstrumentationProxy) JmxService(com.newrelic.agent.jmx.JmxService) InstrumentationContextManager(com.newrelic.agent.instrumentation.context.InstrumentationContextManager) AgentConfig(com.newrelic.agent.config.AgentConfig) MockServiceManager(com.newrelic.agent.MockServiceManager) ClassTransformerService(com.newrelic.agent.instrumentation.ClassTransformerService) MockCoreService(com.newrelic.agent.MockCoreService) ClassWeaverService(com.newrelic.agent.instrumentation.weaver.ClassWeaverService) Before(org.junit.Before)

Aggregations

InstrumentationProxy (com.newrelic.agent.InstrumentationProxy)8 Test (org.junit.Test)3 MockCoreService (com.newrelic.agent.MockCoreService)1 MockServiceManager (com.newrelic.agent.MockServiceManager)1 AgentConfig (com.newrelic.agent.config.AgentConfig)1 ClassTransformerService (com.newrelic.agent.instrumentation.ClassTransformerService)1 InstrumentationContextManager (com.newrelic.agent.instrumentation.context.InstrumentationContextManager)1 ClassRetransformer (com.newrelic.agent.instrumentation.custom.ClassRetransformer)1 ClassWeaverService (com.newrelic.agent.instrumentation.weaver.ClassWeaverService)1 JmxService (com.newrelic.agent.jmx.JmxService)1 ClassFileTransformer (java.lang.instrument.ClassFileTransformer)1 UnmodifiableClassException (java.lang.instrument.UnmodifiableClassException)1 HashMap (java.util.HashMap)1 Before (org.junit.Before)1