Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions analysis/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ dependencies {

implementation "ch.qos.logback:logback-classic:$libLogbackVersion"
implementation "org.slf4j:slf4j-api:$libSlf4jApiVersion"
implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
implementation 'com.fasterxml.jackson.core:jackson-core:2.17.0'


api "javax.xml.bind:jaxb-api:2.3.1"

Expand Down Expand Up @@ -121,3 +124,7 @@ eclipse {
containsTestFixtures = true
}
}

tasks.named("compileJava") {
options.compilerArgs += ['--add-reads', "kieker.analysis=ALL-UNNAMED"]
}
106 changes: 106 additions & 0 deletions analysis/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
/**
* This module offers the packages {@code kieker.analysis.analysisComponent},
* {@code kieker.analysis.annotation}, {@code kieker.analysis.architecture},
* {@code kieker.analysis.behaviour}, {@code kieker.analysis.code},
* {@code kieker.analysis.exception}, {@code kieker.analysis.generic},
* {@code kieker.analysis.metrics}, {@code kieker.analysis.plugin},
* {@code kieker.analysis.repository},
* {@code kieker.analysis.util} and all the subpackages.
* <p>
* This module is the code basis for the analysis functions:
* <ul>
* <li>trace reconstruction and visualization</li>
* <li>anomaly detection</li>
* <li>architecture discovery and visualization</li>
* </ul>
*/
module kieker.analysis {

//Provided Packages
exports kieker.analysis.behavior;
exports kieker.analysis.behavior.acceptance.matcher;
exports kieker.analysis.behavior.clustering;
exports kieker.analysis.behavior.signature.processor;
exports kieker.analysis.behavior.model;
exports kieker.analysis.behavior.events;
exports kieker.analysis.metrics.graph.entropy;
exports kieker.analysis.plugin;
exports kieker.analysis.plugin.filter;
exports kieker.analysis.plugin.filter.flow;
exports kieker.analysis.plugin.filter.record;
exports kieker.analysis.plugin.filter.select;
exports kieker.analysis.plugin.reader;
exports kieker.analysis.plugin.reader.filesystem;
exports kieker.analysis.plugin.reader.newio;
exports kieker.analysis.plugin.annotation;
exports kieker.analysis.plugin.trace;
exports kieker.analysis.repository;
exports kieker.analysis.repository.annotation;
exports kieker.analysis.analysisComponent;
exports kieker.analysis.statistics;
exports kieker.analysis.statistics.calculating;
exports kieker.analysis.util;
exports kieker.analysis.util.stage;
exports kieker.analysis.util.stage.trigger;
exports kieker.analysis.architecture;
exports kieker.analysis.architecture.dependency;
exports kieker.analysis.architecture.trace;
exports kieker.analysis.architecture.trace.reconstruction;
exports kieker.analysis.architecture.trace.execution;
exports kieker.analysis.architecture.trace.sink;
exports kieker.analysis.architecture.trace.flow;
exports kieker.analysis.architecture.recovery;
exports kieker.analysis.architecture.recovery.assembler;
exports kieker.analysis.architecture.recovery.events;
exports kieker.analysis.architecture.recovery.signature;
exports kieker.analysis.architecture.repository;
exports kieker.analysis.generic;
exports kieker.analysis.generic.sink;
exports kieker.analysis.generic.sink.graph;
exports kieker.analysis.generic.sink.graph.dot;
exports kieker.analysis.generic.sink.graph.dot.attributes;
exports kieker.analysis.generic.sink.graph.graphml;
exports kieker.analysis.generic.source;
exports kieker.analysis.generic.source.rest;
exports kieker.analysis.generic.source.file;
exports kieker.analysis.generic.source.tcp;
exports kieker.analysis.generic.source.rewriter;
exports kieker.analysis.generic.data;
exports kieker.analysis.generic.time;
exports kieker.analysis.generic.graph;
exports kieker.analysis.generic.graph.clustering;
exports kieker.analysis.generic.graph.selector;
exports kieker.analysis.generic.clustering;
exports kieker.analysis.generic.clustering.optics;
exports kieker.analysis.generic.clustering.mtree;
exports kieker.analysis.generic.clustering.mtree.utils;
exports kieker.analysis.code;
exports kieker.analysis.code.data;
exports kieker.analysis.exception;
exports kieker.analysis;


// Kieker dependencies
requires kieker.model;
requires kieker.common;

// Java Dependencies
requires java.sql;
requires java.management;
requires java.naming;
requires java.xml;
requires java.xml.bind;

// Third-Party Dependencies
requires com.google.common;
requires org.apache.commons.compress;
requires org.eclipse.emf.common;
requires org.eclipse.emf.ecore;
requires org.eclipse.emf.ecore.xmi;
requires org.slf4j;
requires org.tukaani.xz;
requires org.yaml.snakeyaml;
requires kieker.monitoring.core;


}
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,7 @@ task springJar(type: Jar, dependsOn: springSubprojects.tasks["build"], group: "b

task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from mainSubprojects.collect { project -> project.sourceSets.main.allJava }
}

Expand Down
57 changes: 57 additions & 0 deletions common/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/**
* This module offers the packages {@code kieker.common.configuration},
* {@code kieker.common.exception}, {@code kieker.common.namedRecordPipe},
* {@code kieker.common.record}, {@code kieker.common.registry},
* {@code kieker.common.util} and all the subpackages.
*<p>
* This module is used to provide a common code base, used by various other modules and packages.
* For example, various records are defined here, which are used and created by other parts,
* such as multiple classes within in the monitoring or analysis modules.
*
**/
module kieker.common {
//Provided Packages
exports kieker.common.configuration;
exports kieker.common.exception;
exports kieker.common.namedRecordPipe;
exports kieker.common.record;
exports kieker.common.record.misc;
exports kieker.common.record.io;
exports kieker.common.record.factory;
exports kieker.common.record.database;
exports kieker.common.record.session;
exports kieker.common.record.controlflow;
exports kieker.common.record.flow;
exports kieker.common.record.flow.trace;
exports kieker.common.record.flow.trace.operation;
exports kieker.common.record.flow.trace.operation.constructor;
exports kieker.common.record.flow.trace.operation.constructor.object;
exports kieker.common.record.flow.trace.operation.object;
exports kieker.common.record.flow.trace.concurrency;
exports kieker.common.record.flow.trace.concurrency.monitor;
exports kieker.common.record.flow.thread;
exports kieker.common.record.jvm;
exports kieker.common.record.remotecontrol;
exports kieker.common.record.system;
exports kieker.common.registry;
exports kieker.common.registry.writer;
exports kieker.common.registry.reader;
exports kieker.common.util;
exports kieker.common.util.classpath;
exports kieker.common.util.dataformat;
exports kieker.common.util.filesystem;
exports kieker.common.util.map;
exports kieker.common.util.signature;
exports kieker.common.util.thread;

//Services
uses kieker.common.record.factory.IRecordFactoryProvider;


//Java Dependencies
requires java.logging;

//Third-Party Dependencies
requires com.fasterxml.jackson.databind;
requires org.slf4j;
}
4 changes: 4 additions & 0 deletions extension-cassandra/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,7 @@ dependencies {
implementation "com.datastax.cassandra:cassandra-driver-core:4.0.0"

}

tasks.named("compileJava") {
options.compilerArgs += ['--add-reads', "kieker.extension.cassandra=ALL-UNNAMED"]
}
12 changes: 12 additions & 0 deletions extension-cassandra/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* The Cassandra extension lets Kieker persist its monitoring,
* trace and log data into an Apache Cassandra database
*/
module kieker.extension.cassandra {
//Kieker dependencies
requires kieker.common;
requires kieker.monitoring.core;

//Third Party dependencies
requires org.slf4j;
}
5 changes: 5 additions & 0 deletions extension-kafka/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,8 @@ dependencies {
// Use JUnit test framework
// testImplementation "junit:junit:4.12"
}

tasks.named("compileJava") {
options.compilerArgs += ['--add-reads', "kieker.extension.kafka=ALL-UNNAMED"]
}

10 changes: 10 additions & 0 deletions extension-kafka/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* The Kafka extension lets Kieker read and write monitoring records
* to and from Apache kafka topics.
*/
module kieker.extension.kafka {
//Kieker dependencies
requires kieker.analysis;
requires kieker.common;
requires kieker.monitoring.core;
}
47 changes: 47 additions & 0 deletions model/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/**
* This module offers the packages {@code kieker.model.repository},
* {@code kieker.model.system.model}, {@code kieker.system.model.util} and
* {@code kieker.system.model.exceptions}
*
* Model holds and manages the monitoring data model that represents the
* observed runtime behavior of a software system.
**/
module kieker.model {
//Provided Packages
exports kieker.model.repository;
exports kieker.model.system.model;
exports kieker.model.system.model.util;
exports kieker.model.system.model.exceptions;
exports kieker.model.collection;
exports kieker.model.collection.util;
exports kieker.model.collection.impl;
exports kieker.model.analysismodel;
exports kieker.model.analysismodel.assembly;
exports kieker.model.analysismodel.assembly.util;
exports kieker.model.analysismodel.assembly.impl;
exports kieker.model.analysismodel.deployment;
exports kieker.model.analysismodel.deployment.util;
exports kieker.model.analysismodel.deployment.impl;
exports kieker.model.analysismodel.execution;
exports kieker.model.analysismodel.execution.util;
exports kieker.model.analysismodel.execution.impl;
exports kieker.model.analysismodel.impl;
exports kieker.model.analysismodel.source;
exports kieker.model.analysismodel.source.util;
exports kieker.model.analysismodel.source.impl;
exports kieker.model.analysismodel.statistics;
exports kieker.model.analysismodel.statistics.util;
exports kieker.model.analysismodel.statistics.impl;
exports kieker.model.analysismodel.trace;
exports kieker.model.analysismodel.trace.util;
exports kieker.model.analysismodel.trace.impl;
exports kieker.model.analysismodel.type;
exports kieker.model.analysismodel.type.util;
exports kieker.model.analysismodel.type.impl;
//Kieker Dependencies
requires kieker.common;

//Third-Party Dependencies -- from src-gen
requires org.eclipse.emf.common;
requires org.eclipse.emf.ecore;
}
5 changes: 4 additions & 1 deletion monitoring/aspectj/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ dependencies {
implementation project(':monitoring:core')

aspectJCompileTime "org.aspectj:aspectjtools:1.9.25.1"
implementation "org.aspectj:aspectjrt:$aspectjVersion"
implementation "org.aspectj:aspectjweaver:$aspectjVersion" // for our custom AspectJ weaver (class: AspectJLoader)

implementation "org.glassfish.jersey.core:jersey-server:$jerseyVersion"
Expand Down Expand Up @@ -210,3 +209,7 @@ eclipse {
}
}
}

tasks.named("compileJava") {
options.compilerArgs += ['--add-reads', "kieker.monitoring.aspectj=ALL-UNNAMED"]
}
18 changes: 18 additions & 0 deletions monitoring/aspectj/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* This module implements a java agent that performs monitoring
* via Aspect-Oriented Programming (AOP).
*/
module kieker.monitoring.aspectj {
//Kieker Dependencies
requires kieker.common;
requires kieker.monitoring.core;

//Java Dependency
requires java.sql;
requires java.instrument;

//Third Party Dependencies
requires org.aspectj.weaver;
requires org.slf4j;
requires jakarta.ws.rs;
}
17 changes: 17 additions & 0 deletions monitoring/bytebuddy/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* This module implements a Java agent that performs
* code generation and manipulation with the help of bytebuddy.
*/
module kieker.monitoring.bytebuddy
{
//Kieker Dependencies
requires kieker.common;
requires kieker.monitoring.core;

//Java Dependencies
requires java.instrument;

//Third Party Dependencies
requires net.bytebuddy;
requires org.slf4j;
}
4 changes: 4 additions & 0 deletions monitoring/core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,7 @@ eclipse {
}
}
}

tasks.named("compileJava") {
options.compilerArgs += ['--add-reads', "kieker.monitoring.core=ALL-UNNAMED"]
}
44 changes: 44 additions & 0 deletions monitoring/core/src/module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/**
* This module offers the packages {@code kieker.monitoring.probe},
* {@code kieker.monitoring.sampler}, {@code kieker.monitoring.util},
* {@code kieker.monitoring.core}, {@code kieker.monitoring.writer},
* {@code kieker.monitoring.timer} and most of their subpackages.
*
* This module is responsible for the instrumentation of applications,
* generates runtime data in form of records (--> Analysis) and
* provides an API for implementing your own writers.
*/
module kieker.monitoring.core {
//Provided Packages
exports kieker.monitoring;
exports kieker.monitoring.probe;
exports kieker.monitoring.probe.utilities;
exports kieker.monitoring.sampler.oshi;
exports kieker.monitoring.util;
exports kieker.monitoring.core.registry;
exports kieker.monitoring.core.controller;
exports kieker.monitoring.core.sampler;
exports kieker.monitoring.core.configuration;
exports kieker.monitoring.writer;
exports kieker.monitoring.writer.filesystem;
exports kieker.monitoring.writer.tcp;
exports kieker.monitoring.writer.compression;
exports kieker.monitoring.writer.raw;
exports kieker.monitoring.timer;

//Kieker Dependencies
requires kieker.common;

//Java Dependencies
requires java.management;
requires java.naming;
requires java.xml;

//Third Party Dependencies
requires org.apache.commons.compress;
requires org.apache.commons.io;
requires org.slf4j;
requires com.github.oshi;
requires org.tukaani.xz;

}
Loading
Loading