diff --git a/.github/workflows/ci-test-and-push-docker.yml b/.github/workflows/ci-test-and-push-docker.yml index 174847c..fb422bc 100644 --- a/.github/workflows/ci-test-and-push-docker.yml +++ b/.github/workflows/ci-test-and-push-docker.yml @@ -21,6 +21,7 @@ on: env: REGISTRY_IMAGE: inspectit/inspectit-gepard-agent + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: build-agent-jar: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index de33175..09ba73a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,22 @@ We recommend using [IntelliJ](https://www.jetbrains.com/idea/download/#section=windows) as IDE for contributing. +## Dependencies + +We integrate our [inspectit-gepard-config](https://github.com/inspectIT/inspectit-gepard-config) model as dependency. We download the dependency +from GitHub Packages, which requires authentication. To set up your authentication, follow these steps: + +1. Create a `gradle.properties` file in `%userprofile%\.gradle` +2. Create a [(classic) personal access token (PAT)](https://github.com/settings/tokens) with `read:packages` permissions. +3. Paste the following content into your `gradle.properties`: + +``` +gpr.inspectit.gepard.user= +gpr.inspectit.gepard.token= +``` + +You can find more information here as well: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry + ## Formatting We have [spotless](https://github.com/diffplug/spotless) configured to format the code. You can run the following commands: @@ -29,4 +45,4 @@ To run the tests, use the command `./gradlew test`. ## Releasing -Currently, there is no automatic release process, as we are still in the early stages of development. \ No newline at end of file +Currently, there is no automatic release process, as we are still in the early stages of development. diff --git a/build.gradle b/build.gradle index c1e95a5..28caca3 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,14 @@ allprojects { name = "sonatype" url = uri("https://oss.sonatype.org/content/repositories/snapshots") } + maven { + name = "inspectit-gepard-config" + url = uri("https://maven.pkg.github.com/inspectIT/inspectit-gepard-config") + credentials { + username = project.findProperty("gpr.inspectit.gepard.user") ?: System.getenv("GITHUB_ACTOR") + password = project.findProperty("gpr.inspectit.gepard.token") ?: System.getenv("GITHUB_TOKEN") + } + } } apply plugin: "java" diff --git a/inspectit-gepard-agent/build.gradle b/inspectit-gepard-agent/build.gradle index 8f66635..6f10593 100644 --- a/inspectit-gepard-agent/build.gradle +++ b/inspectit-gepard-agent/build.gradle @@ -20,7 +20,7 @@ plugins { } group 'rocks.inspectit.gepard' -version = "0.0.1-SNAPSHOT" +def configVersion = "3.0.1-dev" sourceCompatibility = "17" targetCompatibility = "17" @@ -70,6 +70,7 @@ dependencies { implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${versions.opentelemetryJavaagentAlpha}")) // inspectit-gepard dependencies + implementation("rocks.inspectit.gepard:inspectit-gepard-config:${configVersion}") implementation("net.bytebuddy:byte-buddy:1.14.15") implementation("ch.qos.logback:logback-classic:1.5.6") implementation("org.slf4j:slf4j-api:2.0.16") diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/http/HttpConfigurationCallback.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/http/HttpConfigurationCallback.java index 4c26c78..b0b453f 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/http/HttpConfigurationCallback.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/http/HttpConfigurationCallback.java @@ -6,9 +6,9 @@ import org.apache.hc.core5.concurrent.FutureCallback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedSubject; import rocks.inspectit.gepard.agent.internal.configuration.util.ConfigurationMapper; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** Callback for configuration requests to the configuration server. */ public class HttpConfigurationCallback implements FutureCallback { diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistence.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistence.java index eab3fc0..eee2c26 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistence.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistence.java @@ -6,10 +6,10 @@ import org.slf4j.LoggerFactory; import rocks.inspectit.gepard.agent.configuration.persistence.file.ConfigurationFileReader; import rocks.inspectit.gepard.agent.configuration.persistence.file.ConfigurationFileWriter; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedEvent; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedObserver; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedSubject; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** * Responsible for accessing the persisted agent configuration as well as keeping the configuration diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReader.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReader.java index 3417ffd..6e11ed9 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReader.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReader.java @@ -4,9 +4,9 @@ import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.util.ConfigurationMapper; import rocks.inspectit.gepard.agent.internal.file.FileAccessor; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** Reads the agent configuration persistence file. */ public class ConfigurationFileReader { diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriter.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriter.java index 999fedc..9d15b2f 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriter.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriter.java @@ -4,9 +4,9 @@ import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.util.ConfigurationMapper; import rocks.inspectit.gepard.agent.internal.file.FileAccessor; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** * Writes into the agent configuration persistence file. After every configuration update, the diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolver.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolver.java index a47905f..ca29aa1 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolver.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolver.java @@ -5,10 +5,10 @@ import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.matcher.ElementMatcher; import rocks.inspectit.gepard.agent.instrumentation.state.configuration.scope.ScopeResolver; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; import rocks.inspectit.gepard.agent.internal.instrumentation.InstrumentedType; import rocks.inspectit.gepard.agent.internal.instrumentation.model.ClassInstrumentationConfiguration; import rocks.inspectit.gepard.agent.internal.instrumentation.model.InstrumentationScope; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; /** * Utility class to resolve the {@link InstrumentationConfiguration} and determine whether class diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolder.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolder.java index 26b84d2..2b456db 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolder.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolder.java @@ -3,9 +3,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedEvent; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedObserver; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** * When the agent receives a new configuration, it will notify this holder about the new diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolver.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolver.java index 13a58fe..9d993d5 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolver.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolver.java @@ -9,13 +9,13 @@ import rocks.inspectit.gepard.agent.instrumentation.state.configuration.InspectitConfigurationHolder; import rocks.inspectit.gepard.agent.instrumentation.state.configuration.matcher.CustomElementMatchers; import rocks.inspectit.gepard.agent.instrumentation.state.configuration.matcher.MatcherChainBuilder; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.instrumentation.model.InstrumentationScope; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; /** - * This class is used to resolve the {@link Scope} based on the {@link Scope} List, contained in the - * {@link InstrumentationConfiguration}. + * This class is used to resolve the {@link ScopeConfiguration} based on the {@link + * ScopeConfiguration} List, contained in the {@link InstrumentationConfiguration}. */ public class ScopeResolver { @@ -34,9 +34,9 @@ public ScopeResolver(InspectitConfigurationHolder holder) { public Set getActiveScopes(String fullyQualifiedName) { if (shouldIgnore(fullyQualifiedName)) return Collections.emptySet(); - List scopes = getAllMatchingScopes(fullyQualifiedName); + List scopes = getAllMatchingScopes(fullyQualifiedName); return scopes.stream() - .filter(Scope::isEnabled) + .filter(ScopeConfiguration::isEnabled) .map(InstrumentationScope::create) .collect(Collectors.toSet()); } @@ -61,7 +61,7 @@ public ElementMatcher.Junction getMethodMatcher( * @param fqn the fully qualified name to match * @return the list of matching scopes */ - private List getAllMatchingScopes(String fqn) { + private List getAllMatchingScopes(String fqn) { return holder.getConfiguration().getInstrumentation().getAllMatchingScopes(fqn); } diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/InspectitConfiguration.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/InspectitConfiguration.java deleted file mode 100644 index e0c310e..0000000 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/InspectitConfiguration.java +++ /dev/null @@ -1,22 +0,0 @@ -/* (C) 2024 */ -package rocks.inspectit.gepard.agent.internal.configuration.model; - -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; - -/** Model of an inspectit gepard configuration. */ -public class InspectitConfiguration { - - private InstrumentationConfiguration instrumentation; - - public InspectitConfiguration() { - this.instrumentation = new InstrumentationConfiguration(); - } - - public InspectitConfiguration(InstrumentationConfiguration instrumentation) { - this.instrumentation = instrumentation; - } - - public InstrumentationConfiguration getInstrumentation() { - return instrumentation; - } -} diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/InstrumentationConfiguration.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/InstrumentationConfiguration.java deleted file mode 100644 index 5243e16..0000000 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/InstrumentationConfiguration.java +++ /dev/null @@ -1,29 +0,0 @@ -/* (C) 2024 */ -package rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation; - -import java.util.List; - -/** - * The Instrumentation Configuration contains all configuration related to instrumentation. e.g - * scopes, rules, actions. - */ -public class InstrumentationConfiguration { - - private final List scopes; - - public InstrumentationConfiguration() { - this.scopes = List.of(); - } - - public InstrumentationConfiguration(List scopes) { - this.scopes = scopes; - } - - public List getScopes() { - return scopes; - } - - public List getAllMatchingScopes(String fqn) { - return scopes.stream().filter(scope -> scope.getFqn().equals(fqn)).toList(); - } -} diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/Scope.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/Scope.java deleted file mode 100644 index 29ef885..0000000 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/model/instrumentation/Scope.java +++ /dev/null @@ -1,37 +0,0 @@ -/* (C) 2024 */ -package rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation; - -import java.util.List; - -/** - * Represents a scope in the instrumentation configuration. A scope defines a set of methods which - * should be instrumented. - */ -public class Scope { - - private boolean enabled; - - private String fqn; - - private List methods; - - public Scope() {} - - public Scope(boolean enabled, String fqn, List methods) { - this.fqn = fqn; - this.methods = methods; - this.enabled = enabled; - } - - public boolean isEnabled() { - return enabled; - } - - public String getFqn() { - return fqn; - } - - public List getMethods() { - return methods; - } -} diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedEvent.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedEvent.java index 4648b1d..e84ddc9 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedEvent.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedEvent.java @@ -2,7 +2,7 @@ package rocks.inspectit.gepard.agent.internal.configuration.observer; import java.util.EventObject; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** Event, which should be published, after the {@link InspectitConfiguration} changed. */ public class ConfigurationReceivedEvent extends EventObject { diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubject.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubject.java index ba8401c..2e6c736 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubject.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubject.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** * Observer pattern subject, which notifies all registered observers about {@link diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapper.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapper.java index 284f2ba..a3bd7da 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapper.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapper.java @@ -6,7 +6,7 @@ import java.util.Objects; import rocks.inspectit.gepard.agent.internal.configuration.exception.CouldNotDeserializeConfigurationException; import rocks.inspectit.gepard.agent.internal.configuration.exception.CouldNotSerializeConfigurationException; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; /** Utility class for mapping configuration strings to configuration objects. */ public class ConfigurationMapper { diff --git a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/instrumentation/model/InstrumentationScope.java b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/instrumentation/model/InstrumentationScope.java index ab64633..6c76120 100644 --- a/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/instrumentation/model/InstrumentationScope.java +++ b/inspectit-gepard-agent/src/main/java/rocks/inspectit/gepard/agent/internal/instrumentation/model/InstrumentationScope.java @@ -3,7 +3,7 @@ import java.util.List; import java.util.Objects; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; /** * @param fqn the fully qualified name of a class @@ -12,12 +12,12 @@ public record InstrumentationScope(String fqn, List methods) { /** - * Creates an {@link InstrumentationScope} out of a {@link Scope} + * Creates an {@link InstrumentationScope} out of a {@link ScopeConfiguration} * * @param scope the scope * @return the instrumentation scope */ - public static InstrumentationScope create(Scope scope) { + public static InstrumentationScope create(ScopeConfiguration scope) { return new InstrumentationScope(scope.getFqn(), scope.getMethods()); } diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistenceTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistenceTest.java index 5501a28..00e315a 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistenceTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/ConfigurationPersistenceTest.java @@ -15,12 +15,12 @@ import org.mockito.junit.jupiter.MockitoExtension; import rocks.inspectit.gepard.agent.configuration.persistence.file.ConfigurationFileReader; import rocks.inspectit.gepard.agent.configuration.persistence.file.ConfigurationFileWriter; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedEvent; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedObserver; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedSubject; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; @ExtendWith(MockitoExtension.class) public class ConfigurationPersistenceTest { @@ -82,7 +82,8 @@ void newConfigurationNotifiesObservers() { } private static InspectitConfiguration createConfiguration() { - Scope scope = new Scope(true, "com.example.Application", Collections.emptyList()); + ScopeConfiguration scope = + new ScopeConfiguration(true, "com.example.Application", Collections.emptyList()); InstrumentationConfiguration instrumentationConfiguration = new InstrumentationConfiguration(List.of(scope)); return new InspectitConfiguration(instrumentationConfiguration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReaderTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReaderTest.java index 8ec5fd3..81583b2 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReaderTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileReaderTest.java @@ -11,9 +11,9 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.file.FileAccessor; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; @ExtendWith(MockitoExtension.class) public class ConfigurationFileReaderTest { @@ -34,7 +34,7 @@ void fileContentIsMappedToConfiguration() throws IOException { when(fileAccessor.readFile()).thenReturn(expectedString); InspectitConfiguration configuration = reader.readConfiguration(); - List scopes = configuration.getInstrumentation().getScopes(); + List scopes = configuration.getInstrumentation().getScopes(); boolean foundScope = scopes.stream().anyMatch(scope -> expectedScope.equals(scope.getFqn())); assertTrue(foundScope); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriterTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriterTest.java index fe27017..e9f1bba 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriterTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/configuration/persistence/file/ConfigurationFileWriterTest.java @@ -14,10 +14,10 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.file.FileAccessor; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; @ExtendWith(MockitoExtension.class) public class ConfigurationFileWriterTest { @@ -49,7 +49,8 @@ void nullIsNotWrittenToFile() throws IOException { } private static InspectitConfiguration createConfiguration() { - Scope scope = new Scope(true, "com.example.Application", Collections.emptyList()); + ScopeConfiguration scope = + new ScopeConfiguration(true, "com.example.Application", Collections.emptyList()); InstrumentationConfiguration instrumentationConfiguration = new InstrumentationConfiguration(List.of(scope)); return new InspectitConfiguration(instrumentationConfiguration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/cache/input/ConfigurationReceiverTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/cache/input/ConfigurationReceiverTest.java index 76ae845..97b6e92 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/cache/input/ConfigurationReceiverTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/cache/input/ConfigurationReceiverTest.java @@ -10,8 +10,8 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import rocks.inspectit.gepard.agent.instrumentation.cache.PendingClassesCache; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedEvent; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; @ExtendWith(MockitoExtension.class) class ConfigurationReceiverTest { diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolverTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolverTest.java index 9a67dfe..3fa68b2 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolverTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/ConfigurationResolverTest.java @@ -12,10 +12,10 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.instrumentation.InstrumentedType; import rocks.inspectit.gepard.agent.internal.instrumentation.model.ClassInstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; @ExtendWith(MockitoExtension.class) class ConfigurationResolverTest { @@ -46,7 +46,7 @@ void typeShouldNotBeInstrumented() { @Test void typeShouldBeInstrumented() { - Scope scope = createScope(true, getClass().getName()); + ScopeConfiguration scope = createScope(true, getClass().getName()); InspectitConfiguration configuration = createConfiguration(List.of(scope)); when(holder.getConfiguration()).thenReturn(configuration); @@ -59,7 +59,7 @@ void typeShouldBeInstrumented() { @Test void typeShouldBeDeinstrumented() { - Scope scope = createScope(false, getClass().getName()); + ScopeConfiguration scope = createScope(false, getClass().getName()); InspectitConfiguration configuration = createConfiguration(List.of(scope)); when(holder.getConfiguration()).thenReturn(configuration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolderTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolderTest.java index f310981..ebb93d3 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolderTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/InspectitConfigurationHolderTest.java @@ -7,10 +7,10 @@ import java.util.Collections; import java.util.List; import org.junit.jupiter.api.Test; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.configuration.observer.ConfigurationReceivedEvent; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; class InspectitConfigurationHolderTest { @@ -35,7 +35,8 @@ void configurationIsUpdated() { } private InspectitConfiguration createConfiguration() { - Scope scope = new Scope(true, "com.example.Application", Collections.emptyList()); + ScopeConfiguration scope = + new ScopeConfiguration(true, "com.example.Application", Collections.emptyList()); InstrumentationConfiguration instrumentationConfiguration = new InstrumentationConfiguration(List.of(scope)); return new InspectitConfiguration(instrumentationConfiguration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolverTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolverTest.java index 5dc811c..e7cd7d4 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolverTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/instrumentation/state/configuration/scope/ScopeResolverTest.java @@ -19,9 +19,9 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import rocks.inspectit.gepard.agent.instrumentation.state.configuration.InspectitConfigurationHolder; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; import rocks.inspectit.gepard.agent.internal.instrumentation.model.InstrumentationScope; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; @ExtendWith(MockitoExtension.class) class ScopeResolverTest { @@ -34,10 +34,10 @@ class ScopeResolverTest { @Test void returnsOnlyActiveScopes() { - Scope matchingScope = createScope(true, CLASS_NAME, List.of("method")); - Scope nonMatchingScope1 = createScope(false, CLASS_NAME); - Scope nonMatchingScope2 = createScope(true, "dummyName"); - List scopes = List.of(matchingScope, nonMatchingScope1, nonMatchingScope2); + ScopeConfiguration matchingScope = createScope(true, CLASS_NAME, List.of("method")); + ScopeConfiguration nonMatchingScope1 = createScope(false, CLASS_NAME); + ScopeConfiguration nonMatchingScope2 = createScope(true, "dummyName"); + List scopes = List.of(matchingScope, nonMatchingScope1, nonMatchingScope2); InspectitConfiguration configuration = createConfiguration(scopes); when(holder.getConfiguration()).thenReturn(configuration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubjectTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubjectTest.java index 91b6287..d5e0622 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubjectTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/observer/ConfigurationReceivedSubjectTest.java @@ -5,7 +5,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.junit.jupiter.api.Test; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; class ConfigurationReceivedSubjectTest { diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapperTest.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapperTest.java index 87db4e5..88302a6 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapperTest.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/internal/configuration/util/ConfigurationMapperTest.java @@ -8,9 +8,9 @@ import java.util.List; import org.junit.jupiter.api.Test; import rocks.inspectit.gepard.agent.internal.configuration.exception.CouldNotDeserializeConfigurationException; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; class ConfigurationMapperTest { @@ -63,7 +63,8 @@ private static String expectedString() { } private static InspectitConfiguration expectedConfig() { - Scope scope = new Scope(true, "com.example.Application", Collections.emptyList()); + ScopeConfiguration scope = + new ScopeConfiguration(true, "com.example.Application", Collections.emptyList()); InstrumentationConfiguration instrumentationConfiguration = new InstrumentationConfiguration(List.of(scope)); return new InspectitConfiguration(instrumentationConfiguration); diff --git a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/testutils/InspectitConfigurationUtil.java b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/testutils/InspectitConfigurationUtil.java index ff7ae43..dc0e5a6 100644 --- a/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/testutils/InspectitConfigurationUtil.java +++ b/inspectit-gepard-agent/src/test/java/rocks/inspectit/gepard/agent/testutils/InspectitConfigurationUtil.java @@ -3,9 +3,9 @@ import java.util.Collections; import java.util.List; -import rocks.inspectit.gepard.agent.internal.configuration.model.InspectitConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.InstrumentationConfiguration; -import rocks.inspectit.gepard.agent.internal.configuration.model.instrumentation.Scope; +import rocks.inspectit.gepard.config.model.InspectitConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.InstrumentationConfiguration; +import rocks.inspectit.gepard.config.model.instrumentation.ScopeConfiguration; public class InspectitConfigurationUtil { @@ -13,7 +13,7 @@ public class InspectitConfigurationUtil { * @param scopes a list of scopes to be added to the configuration * @return the inspectit configuration with the current class as scope */ - public static InspectitConfiguration createConfiguration(List scopes) { + public static InspectitConfiguration createConfiguration(List scopes) { InstrumentationConfiguration instrumentationConfiguration = new InstrumentationConfiguration(scopes); return new InspectitConfiguration(instrumentationConfiguration); @@ -26,11 +26,12 @@ public static InspectitConfiguration createConfiguration(List scopes) { * @param methodNames the method names to be instrumented * @return the scope with the current class as fqn */ - public static Scope createScope(boolean enabled, String name, List methodNames) { - return new Scope(enabled, name, methodNames); + public static ScopeConfiguration createScope( + boolean enabled, String name, List methodNames) { + return new ScopeConfiguration(enabled, name, methodNames); } - public static Scope createScope(boolean enabled, String name) { + public static ScopeConfiguration createScope(boolean enabled, String name) { return createScope(enabled, name, Collections.emptyList()); } }