To run the OpenTelemetry demo using Kieker, run the following steps:
- Start the kieker listener:
git clone -b GH-13-GetOERFromProto git@github.com:kieker-monitoring/kieker.git
cd kieker/
cd tools/otel-transformer
../../gradlew assemble
cd build/distributions
unzip otel-transformer-2.0.3-SNAPSHOT.zip
cd otel-transformer-2.0.3-SNAPSHOT/
bin/otel-transformer -lp 9000 -standard OPENTELEMETRY
(leave this process running, and stop via Ctrl + C after running the demo)
- Prepare the OpenTelemetry demo:
git clone https://github.com/open-telemetry/opentelemetry-demo.git - Edit the repo (go to
opentelemetry-demofirst):
- Edit
src/otel-collector/otelcol-config-extras.yml: Add (replacing $MYIP by your IP):
exporters:
otlp/example:
endpoint: http://$MYIP:9000
tls:
insecure: true
service:
pipelines:
traces:
exporters: [spanmetrics, otlp/example]
- Edit
docker-compose.yml: Add- _JAVA_OPTIONS=-Dotel.instrumentation.methods.include=oteldemo.AdService[main,getInstance,getAdsByCategory,getRandomAds,createAdsMap,start,stop,blockUntilShutdown];oteldemo.AdService.AdServiceImpl[getAds];oteldemo.problempattern.CPULoad[getInstance,execute,spawnLoadWorkers,stopWorkers]to the AdService
- Run the demo (in
opentelemetry-demo)
- Run
make start - Do anything you'd like to do with the interface
- Run
docker compose down -v
- Visualize the results within Kieker (replacing
$KIEKERPATHwith the path the listener showed you):
cd tools/trace-analysis
../../gradlew assemble
cd build/distributions
unzip trace-analysis-2.0.3-SNAPSHOT.zip
cd trace-analysis-2.0.3-SNAPSHOT/
mkdir graphs
bin/trace-analysis \
-i $KIEKERPATH \
-o graphs \
--plot-Deployment-Component-Dependency-Graph responseTimes-ms \
--plot-Deployment-Operation-Dependency-Graph responseTimes-ms \
--plot-Aggregated-Deployment-Call-Tree \
--plot-Aggregated-Assembly-Call-Tree
cd graphs
for file in *.dot; do dot -Tpng $file -o $file.png; done

Thanks, this seems to be OS-specific, on which system exactly are you running?