diff --git a/docs/contributing/javaagent-jar-components.md b/docs/contributing/javaagent-jar-components.md index 89968c7f6a..3f3f2147f4 100644 --- a/docs/contributing/javaagent-jar-components.md +++ b/docs/contributing/javaagent-jar-components.md @@ -12,7 +12,7 @@ into 3 parts: #### `javaagent` module This module consists of single class -`io.opentelemetry.auto.bootstrap.AgentBootstrap` which implements [Java +`io.opentelemetry.javaagent.OpenTelemetryAgent` which implements [Java instrumentation agent](https://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html). This class is loaded during application startup by application classloader. diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/Agent.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/Agent.java index fcde7edf90..fb5dbccec5 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/Agent.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/Agent.java @@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory; /** * Agent start up logic. * - *

This class is loaded and called by {@code io.opentelemetry.auto.bootstrap.AgentBootstrap} + *

This class is loaded and called by {@code io.opentelemetry.javaagent.OpenTelemetryAgent} * *

The intention is for this class to be loaded by bootstrap classloader to make sure we have * unimpeded access to the rest of agent parts. diff --git a/javaagent/javaagent.gradle b/javaagent/javaagent.gradle index 6c61c69a4c..b91b5dca14 100644 --- a/javaagent/javaagent.gradle +++ b/javaagent/javaagent.gradle @@ -18,9 +18,9 @@ configurations { jar { manifest { attributes( - "Main-Class": "io.opentelemetry.auto.bootstrap.AgentBootstrap", - "Agent-Class": "io.opentelemetry.auto.bootstrap.AgentBootstrap", - "Premain-Class": "io.opentelemetry.auto.bootstrap.AgentBootstrap", + "Main-Class": "io.opentelemetry.javaagent.OpenTelemetryAgent", + "Agent-Class": "io.opentelemetry.javaagent.OpenTelemetryAgent", + "Premain-Class": "io.opentelemetry.javaagent.OpenTelemetryAgent", "Can-Redefine-Classes": true, "Can-Retransform-Classes": true, ) diff --git a/javaagent/src/main/java/io/opentelemetry/auto/bootstrap/AgentBootstrap.java b/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java similarity index 98% rename from javaagent/src/main/java/io/opentelemetry/auto/bootstrap/AgentBootstrap.java rename to javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java index e171b0bae4..3d1f2f886c 100644 --- a/javaagent/src/main/java/io/opentelemetry/auto/bootstrap/AgentBootstrap.java +++ b/javaagent/src/main/java/io/opentelemetry/javaagent/OpenTelemetryAgent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.opentelemetry.auto.bootstrap; +package io.opentelemetry.javaagent; import java.io.BufferedReader; import java.io.File; @@ -55,8 +55,8 @@ import java.util.regex.Pattern; *

  • Do dot touch any logging facilities here so we can configure them later * */ -public class AgentBootstrap { - private static final Class thisClass = AgentBootstrap.class; +public class OpenTelemetryAgent { + private static final Class thisClass = OpenTelemetryAgent.class; public static void premain(final String agentArgs, final Instrumentation inst) { agentmain(agentArgs, inst); diff --git a/javaagent/src/test/groovy/io/opentelemetry/auto/AgentLoadedIntoBootstrapTest.groovy b/javaagent/src/test/groovy/io/opentelemetry/auto/AgentLoadedIntoBootstrapTest.groovy index cca857c63b..2e52a2c0cf 100644 --- a/javaagent/src/test/groovy/io/opentelemetry/auto/AgentLoadedIntoBootstrapTest.groovy +++ b/javaagent/src/test/groovy/io/opentelemetry/auto/AgentLoadedIntoBootstrapTest.groovy @@ -16,8 +16,8 @@ package io.opentelemetry.auto -import io.opentelemetry.auto.bootstrap.AgentBootstrap import io.opentelemetry.auto.test.IntegrationTestUtils +import io.opentelemetry.javaagent.OpenTelemetryAgent import jvmbootstraptest.AgentLoadedChecker import jvmbootstraptest.MyClassLoaderIsNotBootstrap import spock.lang.Specification @@ -50,7 +50,7 @@ class AgentLoadedIntoBootstrapTest extends Specification { def mainClassName = MyClassLoaderIsNotBootstrap.getName() def pathToJar = IntegrationTestUtils.createJarWithClasses(mainClassName, MyClassLoaderIsNotBootstrap, - AgentBootstrap).getPath() + OpenTelemetryAgent).getPath() expect: IntegrationTestUtils.runOnSeparateJvm(mainClassName diff --git a/javaagent/src/test/groovy/io/opentelemetry/auto/integration/classloading/ShadowPackageRenamingTest.groovy b/javaagent/src/test/groovy/io/opentelemetry/auto/integration/classloading/ShadowPackageRenamingTest.groovy index aac51488e3..2422a7c405 100644 --- a/javaagent/src/test/groovy/io/opentelemetry/auto/integration/classloading/ShadowPackageRenamingTest.groovy +++ b/javaagent/src/test/groovy/io/opentelemetry/auto/integration/classloading/ShadowPackageRenamingTest.groovy @@ -73,6 +73,13 @@ class ShadowPackageRenamingTest extends Specification { break } } + if (info.getName() == 'io.opentelemetry.javaagent.OpenTelemetryAgent') { + // io.opentelemetry.javaagent.OpenTelemetryAgent isn't needed in the bootstrap prefixes + // because it doesn't live in the bootstrap class loader, but it's still "good" for the + // purpose of this test which is just checking all the classes sitting directly inside of + // the agent jar + goodPrefix = true + } if (!goodPrefix) { badBootstrapPrefixes.add(info.getName()) }