Please make sure you install the following tools:
- Make sure you got JDK 11 or above installed and
$JAVA_HOMEset correctly. - Make sure you got JMeter installed and
$JMETER_HOMEpointing to its folder. - Make sure you got Kieker (https://github.com/kieker-monitoring/kieker) downloaded (e.g.
git clone https://github.com/kieker-monitoring/kieker.git) and built via./gradlew assemble -x test -x check -x apidoc(we use the current 2.0.0-SNAPSHOT - please file an issue if you have a problem with this steps in a newer version). Set$KIEKER_HOMEto the root folder of your built Kieker. - My fork of the TeaStore: https://github.com/DaGeRe/TeaStore (
git clone --branch kieker-debug https://github.com/DaGeRe/TeaStore.git) In the forks folder:- Deactivate the
FileWriter:sed -i "s/kieker.monitoring.writer=kieker.monitoring.writer.filesystem.FileWriter/#kieker.monitoring.writer=kieker.monitoring.writer.filesystem.FileWriter/g" utilities/tools.descartes.teastore.dockerbase/kieker.monitoring.properties - Activate the
SingleSocketTcpWriter:sed -i "s/#kieker.monitoring.writer=kieker.monitoring.writer.tcp.SingleSocketTcpWriter/kieker.monitoring.writer=kieker.monitoring.writer.tcp.SingleSocketTcpWriter/g" utilities/tools.descartes.teastore.dockerbase/kieker.monitoring.properties
- Deactivate the
- docker (For Ubuntu:
sudo apt install docker.io) - Clone ExplorViz deployment:
git clone https://github.com/ExplorViz/deployment.git
- First, start ExplorViz
- First start:
export FRONTEND_PORT=8082 && docker compose pull && docker compose up -d(TheFRONTEND_PORTneeds to be something that doesn't interfere with the TeaStores port, which is 8080) - In case of restarts, make sure to shut it down via
docker compose down -v
- First start:
- Get your IP (in the following lines:
$IP) - To set the ExplorViz token, please append the following lines to
../../resources/kieker.monitoring.properties:
kieker.tools.oteltransformer.stages.OpenTelemetryExporterStage.ExplorVizTokenValue=mytokenvalue
kieker.tools.oteltransformer.stages.OpenTelemetryExporterStage.ExplorVizTokenSecret=mytokensecret
- Start the Kieker Otel transformer:
cd $KIEKER_HOME/tools/otel-transformer/build/distributions && unzip otel-transformer-2.0.0-SNAPSHOT.zipotel-transformer-2.0.0-SNAPSHOT/bin/otel-transformer -lp 10001 --configuration ../../resources/kieker.monitoring.properties
- Start the TeaStore
- Configure the host for sending monitoring records:
sed -i "s/kieker.monitoring.writer.tcp.SingleSocketTcpWriter.hostname=localhost/kieker.monitoring.writer.tcp.SingleSocketTcpWriter.hostname=$IP/" utilities/tools.descartes.teastore.dockerbase/kieker.monitoring.properties(in the TeaStore folder) - Start it:
./startContainers.sh $IP
- Configure the host for sending monitoring records:
- Now, finally execute the load test
- Configure the load test do not delete the TeaStore containers:
sed -i "s/docker ps/echo 'Done' \&\& exit 1\n/" startJmeter.sh - Start it using
./startJmeter.sh(as often as you'd like) - Currently, you'll need to stop the otel-transformer to see results; this will be fixed soon.
- Configure the load test do not delete the TeaStore containers:
If your landscape is empty, but ExplorViz shows that there have been requests:
This requires reloading the page.
docker compose pullis only relevant if you already pulld the ExplorViz images and they have been updated in the meantime. Therefore, this could be skipped, especially for the first start of ExplorViz.