A collection of R scripts which use jmeter log output generated by the standard commmunity tests. These scripts perform analysis to answer specific questions about fedora-commons repository performance, and produce figures to illustrate the answers.
- R
- R Packages: ggplot2, knitr, rmarkdown, svglite
- Vendor Packages:
- Cairo (libcairo2-dev on debian, cairo on OSX)
- Pandoc (pandoc on debian)
-
Get your perf.log from running a fcrepo test or use a copy of the test data run by virginia tech as a demo.
# Pre-existing data from test-4 that can be used as an example mkdir raw-data wget https://s3.amazonaws.com/f4-performance-results/test4.pu.postgres.tar.gz -O ./raw-data/test.tgz tar -C raw-data -xzf raw-data/test.tgz
-
Run Analysis. Substitutue
example/test4-perf.log
with the perf.log from your own tests or the one obtained from S3.# Make directories. mkdir -p processed-data mkdir -p build mkdir -p reports # Run install script to make sure required packages are installed. Rscript 00-install-required-packages.r # Check that input data has expected headers # The result should be the printed statement: ` # Header check: # Expected: 12 encountered: 12 Rscript 01-check-jmeter-log.r example/test4-perf.log # Run preprocessing and save result into processed-data directory. Rscript 10-jmeter-create-objects-preprocess.r example/test4-perf.log > processed-data/subset.csv # Run the analysis Rscript 20-jmeter-create-objects-analysis.r processed-data/subset.csv # Produce figures Rscript 21-jmeter-create-objects-plots.r processed-data/subset.csv # Produce report Rscript 30-knit-report.r ./build report.md
Generated reports for test runs are in dist.