DaGeRe / peass

Tool for Performance analysis of software system
GNU Affero General Public License v3.0
10 stars 9 forks source link

RCA Inspect Node: Wrong iteration count #145

Closed amtsvch closed 1 year ago

amtsvch commented 1 year ago

In the "Inspect Node" section the graph "VM-wise Iteration Durations" shows wrong iteration count, that doesn't correspond with the actual value.

The Bug can be reproduced with a peass-demo project with the following commands: java -jar ../peass/starter/target/peass-starter-0.3.6-SNAPSHOT.jar searchcause -vms 3 -iterations 100 -warmup 1 -repetitions 2 -commit b6b35a5952416a7b1a16b4e90e44ac22d5749af0 -test de.dagere.peass.ExampleTest#test -folder demo-project -executionFile results/traceTestSelection_demo-project.json -propertyFolder results/properties_demo-project/

java -jar ../peass/starter/target/peass-starter-0.3.6-SNAPSHOT.jar visualizerca -data demo-project_peass/ -propertyFolder results/properties_demo-project/

DaGeRe commented 1 year ago

Thanks for the Issue. The reason is, that KoPeMe aggregates on two levels: For all repetitions and additionally it only writes averages over a given timespan (which is 5 seconds by default). This behavior is implemented in https://github.com/DaGeRe/KoPeMe/blob/main/kopeme-core/src/main/java/de/dagere/kopeme/kieker/aggregateddata/FileDataManagerBin.java While this might be better from an overhead point of view (to be honest, I never tried this out in detail), it is certainly hard to understand. Therefore, I'll implement a solution to directly write each record.

DaGeRe commented 1 year ago

Starting with https://github.com/DaGeRe/peass/commit/cfb50ec629a492aae20c3c1728bc44d7c4f9a217, you can set -writingType BinarySimple to your searchcause call; thereby, all data will be serialized unfiltered. Does this work for you?

amtsvch commented 1 year ago

Thanks. So far I have tested only one case, that previously had shown wrong numbers, and it's worked. I'll close the issue as fixed.