diff --git a/agent/build.gradle b/agent/build.gradle index 1aee5c6499a..80e34848154 100644 --- a/agent/build.gradle +++ b/agent/build.gradle @@ -26,7 +26,7 @@ plugins { apply from: "$buildScriptsDir/common-java.gradle" apply from: "$buildScriptsDir/publishing.gradle" -def instrumentationVersion = '0.14.2' +def instrumentationVersion = '0.14.3' def shadowPrefix = 'com.microsoft.applicationinsights.agent.shadow' diff --git a/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/MainEntryPoint.java b/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/MainEntryPoint.java index e71fc4df457..9bbb6cc4383 100644 --- a/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/MainEntryPoint.java +++ b/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/MainEntryPoint.java @@ -99,7 +99,8 @@ private static void start(Instrumentation instrumentation, File agentJarFile) th AIAgentXmlLoader.getInstrumentationConfig(builtInInstrumentation)); EngineModule.createWithSomeDefaults(instrumentation, tmpDir, Global.getThreadContextThreadLocal(), - instrumentationDescriptors, configServiceFactory, new AgentImpl(), + instrumentationDescriptors, configServiceFactory, new AgentImpl(), false, + Collections.singletonList("com.microsoft.applicationinsights.agent"), Collections.singletonList("com.microsoft.applicationinsights.agent"), agentJarFile); } } diff --git a/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/model/OutgoingSpanImpl.java b/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/model/OutgoingSpanImpl.java index c07499cf0af..ec1bf8bc6b7 100644 --- a/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/model/OutgoingSpanImpl.java +++ b/agent/src/main/java/com/microsoft/applicationinsights/agent/internal/model/OutgoingSpanImpl.java @@ -25,6 +25,7 @@ import java.net.URISyntaxException; import java.util.Map; +import com.google.common.base.Strings; import com.microsoft.applicationinsights.agent.internal.sdk.SdkBridge; import com.microsoft.applicationinsights.agent.internal.sdk.SdkBridge.ExceptionTelemetry; import com.microsoft.applicationinsights.agent.internal.sdk.SdkBridge.RemoteDependencyTelemetry; @@ -157,7 +158,12 @@ private void endInternal() { } else { target = sdkBridge.generateChildDependencyTarget(requestContext, Global.isOutboundW3CEnabled()); } - telemetry.setName(method + " " + uriObject.getPath()); + String path = uriObject.getPath(); + if (Strings.isNullOrEmpty(path)) { + telemetry.setName(method + " /"); + } else { + telemetry.setName(method + " " + path); + } if (target != null && !target.isEmpty()) { // AI correlation expects target to be of this format. telemetry.setTarget(createTarget(uriObject, target)); diff --git a/core/build.gradle b/core/build.gradle index b46b4ba9b76..89c5bf743a0 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -109,7 +109,7 @@ archivesBaseName = 'applicationinsights-core' dependencies { compileOnly (project(':agent')) { transitive = false } - compileOnly ([group: 'org.glowroot.instrumentation', name: 'instrumentation-api', version: '0.14.2']) { transitive = false } + compileOnly ([group: 'org.glowroot.instrumentation', name: 'instrumentation-api', version: '0.14.3']) { transitive = false } compile(project(':ApplicationInsightsInternalLogger')) compile ([group: 'eu.infomas', name: 'annotation-detector', version: '3.0.5']) compile ([group: 'commons-io', name: 'commons-io', version: '2.6' ]) diff --git a/test/smoke/testApps/SpringBootTest/src/smokeTest/java/com/springbootstartertest/smoketest/SpringbootSmokeTest.java b/test/smoke/testApps/SpringBootTest/src/smokeTest/java/com/springbootstartertest/smoketest/SpringbootSmokeTest.java index 22aec8849b8..b9c7089a2a2 100644 --- a/test/smoke/testApps/SpringBootTest/src/smokeTest/java/com/springbootstartertest/smoketest/SpringbootSmokeTest.java +++ b/test/smoke/testApps/SpringBootTest/src/smokeTest/java/com/springbootstartertest/smoketest/SpringbootSmokeTest.java @@ -89,9 +89,9 @@ public void testAsyncDependencyCallWithApacheHttpClient4() { assertEquals(1, mockedIngestion.getCountForType("RemoteDependencyData")); RequestData d = getTelemetryDataForType(0, "RequestData"); RemoteDependencyData rdd = getTelemetryDataForType(0, "RemoteDependencyData"); - String requestOperationId = d.getId(); - String rddId = rdd.getId(); - assertTrue(rddId.contains(requestOperationId)); + assertEquals("GET /", rdd.getName()); + assertEquals("www.bing.com:-1 | www.bing.com", rdd.getTarget()); + assertTrue(rdd.getId().contains(d.getId())); } @Test @@ -101,9 +101,9 @@ public void testAsyncDependencyCallWithApacheHttpClient3() { assertEquals(1, mockedIngestion.getCountForType("RemoteDependencyData")); RequestData d = getTelemetryDataForType(0, "RequestData"); RemoteDependencyData rdd = getTelemetryDataForType(0, "RemoteDependencyData"); - String requestOperationId = d.getId(); - String rddId = rdd.getId(); - assertTrue(rddId.contains(requestOperationId)); + assertEquals("GET /", rdd.getName()); + assertEquals("www.bing.com:-1 | www.bing.com", rdd.getTarget()); + assertTrue(rdd.getId().contains(d.getId())); } @Test @@ -113,9 +113,9 @@ public void testAsyncDependencyCallWithOkHttp3() { assertEquals(1, mockedIngestion.getCountForType("RemoteDependencyData")); RequestData d = getTelemetryDataForType(0, "RequestData"); RemoteDependencyData rdd = getTelemetryDataForType(0, "RemoteDependencyData"); - String requestOperationId = d.getId(); - String rddId = rdd.getId(); - assertTrue(rddId.contains(requestOperationId)); + assertEquals("GET /", rdd.getName()); + assertEquals("www.bing.com:-1 | www.bing.com", rdd.getTarget()); + assertTrue(rdd.getId().contains(d.getId())); } @Test @@ -125,9 +125,9 @@ public void testAsyncDependencyCallWithOkHttp2() { assertEquals(1, mockedIngestion.getCountForType("RemoteDependencyData")); RequestData d = getTelemetryDataForType(0, "RequestData"); RemoteDependencyData rdd = getTelemetryDataForType(0, "RemoteDependencyData"); - String requestOperationId = d.getId(); - String rddId = rdd.getId(); - assertTrue(rddId.contains(requestOperationId)); + assertEquals("GET /", rdd.getName()); + assertEquals("www.bing.com:-1 | www.bing.com", rdd.getTarget()); + assertTrue(rdd.getId().contains(d.getId())); } @Test @@ -137,8 +137,8 @@ public void testAsyncDependencyCallWithHttpURLConnection() { assertEquals(1, mockedIngestion.getCountForType("RemoteDependencyData")); RequestData d = getTelemetryDataForType(0, "RequestData"); RemoteDependencyData rdd = getTelemetryDataForType(0, "RemoteDependencyData"); - String requestOperationId = d.getId(); - String rddId = rdd.getId(); - assertTrue(rddId.contains(requestOperationId)); + assertEquals("GET /", rdd.getName()); + assertEquals("www.bing.com:-1 | www.bing.com", rdd.getTarget()); + assertTrue(rdd.getId().contains(d.getId())); } }