DescartesResearch / TeaStore

A micro-service reference test application for model extraction, cloud management, energy efficiency, power prediction, single- and multi-tier auto-scaling
https://se.informatik.uni-wuerzburg.de
Apache License 2.0
122 stars 142 forks source link

Detecting Startup End #241

Open DaGeRe opened 1 year ago

DaGeRe commented 1 year ago

Everytime I run the TeaStore locally and create load using JMeter, I get errors both from the JMeter results and also in the Kieker logs. This is annoying when trying to analyze the Kieker logs. The only workaround if to wait for ~10 minutes, then the problem sometimes disappears (but I'm not completely sure about the time, and this is obviously very time-consuming to test).

I'm starting the TeaStore using

MY_IP="192.168.178.28"
MY_FOLDER=$(pwd)/kieker-results/
docker run -p 3306:3306 -d descartesresearch/teastore-db
docker run -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=10000" -p 10000:8080 -d descartesresearch/teastore-registry
docker run -v $MY_FOLDER/teastore-persistence:/kieker/logs/ -e "LOG_TO_FILE=true" -e "REGISTRY_HOST=$MY_IP" -e "REGISTRY_PORT=10000" -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=1111" -e "DB_HOST=$MY_IP" -e "DB_PORT=3306" -p 1111:8080 -d descartesresearch/teastore-persistence
docker run -v $MY_FOLDER/teastore-auth:/kieker/logs/ -e "LOG_TO_FILE=true" -e "REGISTRY_HOST=$MY_IP" -e "REGISTRY_PORT=10000" -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=2222" -p 2222:8080 -d descartesresearch/teastore-auth
docker run -v $MY_FOLDER/teastore-recommender:/kieker/logs/ -e "LOG_TO_FILE=true" -e "REGISTRY_HOST=$MY_IP" -e "REGISTRY_PORT=10000" -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=3333" -p 3333:8080 -d descartesresearch/teastore-recommender
docker run -v $MY_FOLDER/teastore-image:/kieker/logs/ -e "LOG_TO_FILE=true" -e "REGISTRY_HOST=$MY_IP" -e "REGISTRY_PORT=10000" -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=4444" -p 4444:8080 -d descartesresearch/teastore-image
docker run -v $MY_FOLDER/teastore-webui:/kieker/logs/ -e "LOG_TO_FILE=true" -e "REGISTRY_HOST=$MY_IP" -e "REGISTRY_PORT=10000" -e "HOST_NAME=$MY_IP" -e "SERVICE_PORT=8080" -p 8080:8080 -d descartesresearch/teastore-webui

and create the load using

java -jar /home/reichelt/Programme/apache-jmeter-5.5/bin/ApacheJMeter.jar -t examples/jmeter/teastore_browse_nogui.jmx -Jhostname localhost -Jport 8080 -JnumUser 2 -n

When looking at the JMeter GUI, the problem seems to appear randomly, sometimes when GET http://localhost:8080/tools.descartes.teastore.webui/ is called, sometime when POST http://localhost:8080/tools.descartes.teastore.webui/cartAction is called.

Is there some way to tell that the startup has ended? I tried to get the container logs using for container in $(docker ps | grep -v "CONTAINER ID" | awk '{print $1}'); do docker logs $container &> $container.txt; done, but even if situations where the logs had their final size, the error still occured.