From 16f252309ef9175d42ba98194636e7f2d8897368 Mon Sep 17 00:00:00 2001 From: Just van den Broecke Date: Wed, 25 Jan 2017 14:44:01 +0100 Subject: [PATCH] refine build with JMETER_VERSION ARG and docu --- Dockerfile | 11 +- README.md | 9 +- build.sh | 8 +- tests/trivial/jmeter.log | 244 ++++++++++++++++++------------------ tests/trivial/test-plan.jtl | 4 +- 5 files changed, 142 insertions(+), 134 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0cadc2e..5ae85d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,12 +4,10 @@ FROM alpine:3.5 MAINTAINER Just van den Broecke -ENV JMETER_VERSION 3.1 +ARG JMETER_VERSION="3.1" ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION} ENV JMETER_BIN ${JMETER_HOME}/bin ENV JMETER_DOWNLOAD_URL http://mirror.serversupportforum.de/apache/jmeter/binaries/apache-jmeter-${JMETER_VERSION}.tgz -ENV IP 127.0.0.1 -ENV RMI_PORT 1099 # Install extra packages # See https://github.com/gliderlabs/docker-alpine/issues/136#issuecomment-272703023 @@ -22,7 +20,7 @@ RUN apk add --update openjdk7-jre tzdata curl unzip bash # Clean APK cache RUN rm -rf /var/cache/apk/* -# download and extract jmeter +# download and extract JMeter RUN mkdir -p /tmp/dependencies RUN curl -L --silent ${JMETER_DOWNLOAD_URL} > /tmp/dependencies/apache-jmeter-${JMETER_VERSION}.tgz RUN mkdir -p /opt @@ -33,12 +31,9 @@ RUN tar -xzf /tmp/dependencies/apache-jmeter-${JMETER_VERSION}.tgz -C /opt && \ # TODO: plugins (later) # && unzip -oq "/tmp/dependencies/JMeterPlugins-*.zip" -d $JMETER_HOME +# Set global PATH such that "jmeter" command is found ENV PATH $PATH:$JMETER_BIN -# We assume tests and results are passed to entrypoint -# and are external to docker image. -# COPY tests /tests - # Entrypoint has same signature as "jmeter" command COPY entrypoint.sh / diff --git a/README.md b/README.md index 5b5062f..44f058b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # docker-jmeter +[![](https://images.microbadger.com/badges/image/justb4/jmeter.svg)](https://microbadger.com/images/justb4/jmeter "Get your own image badge on microbadger.com") + Docker image for [Apache JMeter](http://jmeter.apache.org). The aim is to have a Docker image that can be run as the ``jmeter`` command itself. @@ -12,7 +14,12 @@ you may use your own ``docker build`` commandline. ### Build Options -None specific right now. NB timezone setting is not working yet. +Build argumments (see [build.sh](build.sh)) with default values if not passed to build: + +- **JMETER_VERSION** - JMeter version, default ``3.1`` +- **IMAGE_TIMEZONE** - timezone of Docker image, default ``"Europe/Amsterdam"`` + +NB **IMAGE_TIMEZONE** setting is not working yet. ## Running diff --git a/build.sh b/build.sh index 40d36b0..66ddfd9 100755 --- a/build.sh +++ b/build.sh @@ -1 +1,7 @@ -sudo docker build -t="justobjects/jmeter:3.1" . +#!/bin/bash + +JMETER_VERSION="3.1" + +# Example build line +# --build-arg IMAGE_TIMEZONE="Europe/Amsterdam" +sudo docker build --build-arg JMETER_VERSION=${JMETER_VERSION} -t "justobjects/jmeter:${JMETER_VERSION}" . diff --git a/tests/trivial/jmeter.log b/tests/trivial/jmeter.log index dd8eb2d..214c667 100644 --- a/tests/trivial/jmeter.log +++ b/tests/trivial/jmeter.log @@ -1,122 +1,122 @@ -2017/01/20 13:07:25 INFO - jmeter.util.JMeterUtils: Setting Locale to en_US -2017/01/20 13:07:25 INFO - jmeter.JMeter: Loading user properties from: /opt/apache-jmeter-3.1/bin/user.properties -2017/01/20 13:07:25 INFO - jmeter.JMeter: Loading system properties from: /opt/apache-jmeter-3.1/bin/system.properties -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting System property: log_level.jmeter=DEBUG -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting JMeter property: TARGET_HOST=www.map5.nl -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting JMeter property: TARGET_PORT=80 -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting JMeter property: TARGET_PATH=/kaarten.html -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting JMeter property: TARGET_KEYWORD=Kaartdiensten -2017/01/20 13:07:25 INFO - jmeter.JMeter: Copyright (c) 1998-2016 The Apache Software Foundation -2017/01/20 13:07:25 INFO - jmeter.JMeter: Version 3.1 r1770033 -2017/01/20 13:07:25 INFO - jmeter.JMeter: java.version=1.7.0_121 -2017/01/20 13:07:25 INFO - jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM -2017/01/20 13:07:25 INFO - jmeter.JMeter: os.name=Linux -2017/01/20 13:07:25 INFO - jmeter.JMeter: os.arch=amd64 -2017/01/20 13:07:25 INFO - jmeter.JMeter: os.version=3.13.0-91-generic -2017/01/20 13:07:25 INFO - jmeter.JMeter: file.encoding=UTF-8 -2017/01/20 13:07:25 INFO - jmeter.JMeter: Max memory =2470051840 -2017/01/20 13:07:25 INFO - jmeter.JMeter: Available Processors =1 -2017/01/20 13:07:25 INFO - jmeter.JMeter: Default Locale=English (United States) -2017/01/20 13:07:25 INFO - jmeter.JMeter: JMeter Locale=English (United States) -2017/01/20 13:07:25 INFO - jmeter.JMeter: JMeterHome=/opt/apache-jmeter-3.1 -2017/01/20 13:07:25 INFO - jmeter.JMeter: user.dir =/vagrant/jmeter/git.docker-jmeter -2017/01/20 13:07:25 INFO - jmeter.JMeter: PWD =/vagrant/jmeter/git.docker-jmeter -2017/01/20 13:07:25 INFO - jmeter.JMeter: IP: 172.17.0.3 Name: fbebd021f32f FullName: fbebd021f32f -2017/01/20 13:07:25 INFO - jmeter.JMeter: Setting property 'jmeter.reportgenerator.outputdir' to:'/vagrant/jmeter/git.docker-jmeter/tests/trivial/report' -2017/01/20 13:07:25 INFO - jmeter.services.FileServer: Default base='/vagrant/jmeter/git.docker-jmeter' -2017/01/20 13:07:25 INFO - jmeter.services.FileServer: Set new base='/vagrant/jmeter/git.docker-jmeter/tests/trivial' -2017/01/20 13:07:25 INFO - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 -2017/01/20 13:07:25 INFO - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 -2017/01/20 13:07:25 INFO - jmeter.save.SaveService: Using SaveService properties version 3.1 -2017/01/20 13:07:25 INFO - jmeter.save.SaveService: All converter versions present and correct -2017/01/20 13:07:25 INFO - jmeter.save.SaveService: Loading file: tests/trivial/test-plan.jmx -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser -2017/01/20 13:07:25 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser -2017/01/20 13:07:26 INFO - jmeter.JMeter: Creating summariser -2017/01/20 13:07:26 INFO - jmeter.report.dashboard.ReportGenerator: ReportGenerator will use for Parsing the separator:',' -2017/01/20 13:07:26 INFO - jmeter.report.dashboard.ReportGenerator: Will generate report at end of test from results file:tests/trivial/test-plan.jtl -2017/01/20 13:07:26 INFO - jmeter.report.dashboard.ReportGenerator: Reading report generator properties from:/opt/apache-jmeter-3.1/bin/reportgenerator.properties -2017/01/20 13:07:26 INFO - jmeter.report.dashboard.ReportGenerator: Merging with JMeter properties -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.temp_dir" not found, using default value "temp" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.sample_filter" not found, using default value "null" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.report_title" not found, using default value "null" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.start_date" not found, using default value "null" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.end_date" not found, using default value "null" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.date_format" not found, using default value "null" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Will use date range start date: null, end date: null -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.latenciesOverTime.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimePercentilesOverTime.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimePercentiles.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.connectTimeOverTime.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimesOverTime.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimeDistribution.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.transactionsPerSecond.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.activeThreadsOverTime.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.timeVsThreads.exclude_controllers" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.filters_only_sample_series" not found, using default value "true" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.series_filter" not found, using default value "" instead. -2017/01/20 13:07:26 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.show_controllers_only" not found, using default value "false" instead. -2017/01/20 13:07:26 INFO - jmeter.engine.StandardJMeterEngine: Running the test! -2017/01/20 13:07:26 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] -2017/01/20 13:07:26 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] -2017/01/20 13:07:26 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' -2017/01/20 13:07:26 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' -2017/01/20 13:07:26 INFO - jmeter.JMeter: Running test (1484917646152) -2017/01/20 13:07:26 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Scenario 1 -2017/01/20 13:07:26 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Scenario 1. -2017/01/20 13:07:26 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error -2017/01/20 13:07:26 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 2 perThread 2000.0 delayedStart=false -2017/01/20 13:07:26 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 -2017/01/20 13:07:26 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started -2017/01/20 13:07:31 INFO - jmeter.threads.JMeterThread: Thread started: Scenario 1 1-1 -2017/01/20 13:07:31 INFO - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = fbebd021f32f -2017/01/20 13:07:31 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 -2017/01/20 13:07:31 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times -2017/01/20 13:07:31 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 -2017/01/20 13:07:31 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true -2017/01/20 13:07:31 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 -2017/01/20 13:07:31 INFO - jmeter.reporters.Summariser: summary + 1 in 00:00:05 = 0.2/s Avg: 320 Min: 320 Max: 320 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0 -2017/01/20 13:07:33 INFO - jmeter.threads.JMeterThread: Thread is done: Scenario 1 1-1 -2017/01/20 13:07:33 INFO - jmeter.threads.JMeterThread: Thread finished: Scenario 1 1-1 -2017/01/20 13:07:33 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test -2017/01/20 13:07:33 INFO - jmeter.reporters.Summariser: summary + 1 in 00:00:02 = 0.5/s Avg: 52 Min: 52 Max: 52 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1 -2017/01/20 13:07:33 INFO - jmeter.reporters.Summariser: summary = 2 in 00:00:08 = 0.3/s Avg: 186 Min: 52 Max: 320 Err: 0 (0.00%) -2017/01/20 13:07:33 INFO - jmeter.JMeter: Generating Dashboard -2017/01/20 13:07:33 INFO - jmeter.report.dashboard.ReportGenerator: Flushing result collector before report Generation -2017/01/20 13:07:33 INFO - jmeter.reporters.ResultCollector: forced flush through ResultCollector#flushFile -2017/01/20 13:07:33 INFO - jmeter.report.processor.NormalizerSampleConsumer: Using format:ms to parse timeStamp field -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): beginDate produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): endDate produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ApdexSummaryConsumer#stopProducing(): apdexSummary produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.RequestsSummaryConsumer#stopProducing(): requestsSummary produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.StatisticsSummaryConsumer#stopProducing(): statisticsSummary produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.Top5ErrorsBySamplerConsumer#stopProducing(): top5ErrorsBySampler produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ErrorsSummaryConsumer#stopProducing(): errorsSummary produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer#stopProducing(): bytesThroughputOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.SyntheticResponseTimeDistributionGraphConsumer#stopProducing(): syntheticResponseTimeDistribution produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer#stopProducing(): latencyVsRequest produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer#stopProducing(): codesPerSecond produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer#stopProducing(): hitsPerSecond produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer#stopProducing(): responseTimeVsRequest produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): startIntervalControlerFilter produced 14 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer#stopProducing(): latenciesOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesOverTimeGraphConsumer#stopProducing(): responseTimePercentilesOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer#stopProducing(): responseTimePercentiles produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ConnectTimeOverTimeGraphConsumer#stopProducing(): connectTimeOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer#stopProducing(): responseTimesOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer#stopProducing(): responseTimeDistribution produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer#stopProducing(): transactionsPerSecond produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer#stopProducing(): activeThreadsOverTime produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer#stopProducing(): timeVsThreads produced 0 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): nameFilter produced 28 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): dateRangeFilter produced 6 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.NormalizerSampleConsumer#stopProducing(): normalizer produced 2 samples -2017/01/20 13:07:33 INFO - org.apache.jmeter.report.processor.CsvFileSampleSource: produce(): 2 samples produced in 89ms on channel 0 -2017/01/20 13:07:33 INFO - jmeter.report.dashboard.ReportGenerator: Exporting data using exporter:'html' of className:'org.apache.jmeter.report.dashboard.HtmlTemplateExporter' -2017/01/20 13:07:33 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Will generate dashboard in folder:/vagrant/jmeter/git.docker-jmeter/tests/trivial/report -2017/01/20 13:07:34 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Report will be generated in:/vagrant/jmeter/git.docker-jmeter/tests/trivial/report, creating folder structure -2017/01/20 13:07:36 INFO - jmeter.JMeter: Dashboard generated +2017/01/25 13:40:24 INFO - jmeter.util.JMeterUtils: Setting Locale to en_US +2017/01/25 13:40:24 INFO - jmeter.JMeter: Loading user properties from: /opt/apache-jmeter-3.1/bin/user.properties +2017/01/25 13:40:24 INFO - jmeter.JMeter: Loading system properties from: /opt/apache-jmeter-3.1/bin/system.properties +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting System property: log_level.jmeter=DEBUG +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting JMeter property: TARGET_HOST=www.map5.nl +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting JMeter property: TARGET_PORT=80 +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting JMeter property: TARGET_PATH=/kaarten.html +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting JMeter property: TARGET_KEYWORD=Kaartdiensten +2017/01/25 13:40:24 INFO - jmeter.JMeter: Copyright (c) 1998-2016 The Apache Software Foundation +2017/01/25 13:40:24 INFO - jmeter.JMeter: Version 3.1 r1770033 +2017/01/25 13:40:24 INFO - jmeter.JMeter: java.version=1.7.0_121 +2017/01/25 13:40:24 INFO - jmeter.JMeter: java.vm.name=OpenJDK 64-Bit Server VM +2017/01/25 13:40:24 INFO - jmeter.JMeter: os.name=Linux +2017/01/25 13:40:24 INFO - jmeter.JMeter: os.arch=amd64 +2017/01/25 13:40:24 INFO - jmeter.JMeter: os.version=3.13.0-91-generic +2017/01/25 13:40:24 INFO - jmeter.JMeter: file.encoding=UTF-8 +2017/01/25 13:40:24 INFO - jmeter.JMeter: Max memory =1652162560 +2017/01/25 13:40:24 INFO - jmeter.JMeter: Available Processors =1 +2017/01/25 13:40:24 INFO - jmeter.JMeter: Default Locale=English (United States) +2017/01/25 13:40:24 INFO - jmeter.JMeter: JMeter Locale=English (United States) +2017/01/25 13:40:24 INFO - jmeter.JMeter: JMeterHome=/opt/apache-jmeter-3.1 +2017/01/25 13:40:24 INFO - jmeter.JMeter: user.dir =/home/vagrant/project/jmeter/git.docker-jmeter +2017/01/25 13:40:24 INFO - jmeter.JMeter: PWD =/home/vagrant/project/jmeter/git.docker-jmeter +2017/01/25 13:40:24 INFO - jmeter.JMeter: IP: 172.17.0.3 Name: 6289eec1709e FullName: 6289eec1709e +2017/01/25 13:40:24 INFO - jmeter.JMeter: Setting property 'jmeter.reportgenerator.outputdir' to:'/home/vagrant/project/jmeter/git.docker-jmeter/tests/trivial/report' +2017/01/25 13:40:24 INFO - jmeter.services.FileServer: Default base='/home/vagrant/project/jmeter/git.docker-jmeter' +2017/01/25 13:40:24 INFO - jmeter.services.FileServer: Set new base='/home/vagrant/project/jmeter/git.docker-jmeter/tests/trivial' +2017/01/25 13:40:24 INFO - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 +2017/01/25 13:40:24 INFO - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 +2017/01/25 13:40:24 INFO - jmeter.save.SaveService: Using SaveService properties version 3.1 +2017/01/25 13:40:24 INFO - jmeter.save.SaveService: All converter versions present and correct +2017/01/25 13:40:24 INFO - jmeter.save.SaveService: Loading file: tests/trivial/test-plan.jmx +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser +2017/01/25 13:40:24 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser +2017/01/25 13:40:24 INFO - jmeter.JMeter: Creating summariser +2017/01/25 13:40:24 INFO - jmeter.report.dashboard.ReportGenerator: ReportGenerator will use for Parsing the separator:',' +2017/01/25 13:40:24 INFO - jmeter.report.dashboard.ReportGenerator: Will generate report at end of test from results file:tests/trivial/test-plan.jtl +2017/01/25 13:40:24 INFO - jmeter.report.dashboard.ReportGenerator: Reading report generator properties from:/opt/apache-jmeter-3.1/bin/reportgenerator.properties +2017/01/25 13:40:24 INFO - jmeter.report.dashboard.ReportGenerator: Merging with JMeter properties +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.temp_dir" not found, using default value "temp" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.sample_filter" not found, using default value "null" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.report_title" not found, using default value "null" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.start_date" not found, using default value "null" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.end_date" not found, using default value "null" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.date_format" not found, using default value "null" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Will use date range start date: null, end date: null +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.latenciesOverTime.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimePercentilesOverTime.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimePercentiles.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.connectTimeOverTime.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimesOverTime.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.responseTimeDistribution.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.transactionsPerSecond.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.activeThreadsOverTime.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.graph.timeVsThreads.exclude_controllers" not found, using default value "false" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.filters_only_sample_series" not found, using default value "true" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.series_filter" not found, using default value "" instead. +2017/01/25 13:40:24 INFO - jmeter.report.config.ReportGeneratorConfiguration: Property "jmeter.reportgenerator.exporter.html.show_controllers_only" not found, using default value "false" instead. +2017/01/25 13:40:25 INFO - jmeter.engine.StandardJMeterEngine: Running the test! +2017/01/25 13:40:25 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] +2017/01/25 13:40:25 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] +2017/01/25 13:40:25 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' +2017/01/25 13:40:25 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' +2017/01/25 13:40:25 INFO - jmeter.JMeter: Running test (1485351625100) +2017/01/25 13:40:25 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Scenario 1 +2017/01/25 13:40:25 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Scenario 1. +2017/01/25 13:40:25 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error +2017/01/25 13:40:25 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 2 perThread 2000.0 delayedStart=false +2017/01/25 13:40:25 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 +2017/01/25 13:40:25 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started +2017/01/25 13:40:30 INFO - jmeter.threads.JMeterThread: Thread started: Scenario 1 1-1 +2017/01/25 13:40:30 INFO - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = 6289eec1709e +2017/01/25 13:40:30 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 +2017/01/25 13:40:30 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times +2017/01/25 13:40:30 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 +2017/01/25 13:40:30 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true +2017/01/25 13:40:30 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 +2017/01/25 13:40:30 INFO - jmeter.reporters.Summariser: summary + 1 in 00:00:06 = 0.2/s Avg: 354 Min: 354 Max: 354 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0 +2017/01/25 13:40:32 INFO - jmeter.threads.JMeterThread: Thread is done: Scenario 1 1-1 +2017/01/25 13:40:32 INFO - jmeter.threads.JMeterThread: Thread finished: Scenario 1 1-1 +2017/01/25 13:40:32 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test +2017/01/25 13:40:32 INFO - jmeter.reporters.Summariser: summary + 1 in 00:00:02 = 0.5/s Avg: 34 Min: 34 Max: 34 Err: 0 (0.00%) Active: 0 Started: 1 Finished: 1 +2017/01/25 13:40:32 INFO - jmeter.reporters.Summariser: summary = 2 in 00:00:08 = 0.3/s Avg: 194 Min: 34 Max: 354 Err: 0 (0.00%) +2017/01/25 13:40:32 INFO - jmeter.JMeter: Generating Dashboard +2017/01/25 13:40:32 INFO - jmeter.report.dashboard.ReportGenerator: Flushing result collector before report Generation +2017/01/25 13:40:32 INFO - jmeter.reporters.ResultCollector: forced flush through ResultCollector#flushFile +2017/01/25 13:40:32 INFO - jmeter.report.processor.NormalizerSampleConsumer: Using format:ms to parse timeStamp field +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): beginDate produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): endDate produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ApdexSummaryConsumer#stopProducing(): apdexSummary produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.RequestsSummaryConsumer#stopProducing(): requestsSummary produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.StatisticsSummaryConsumer#stopProducing(): statisticsSummary produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.Top5ErrorsBySamplerConsumer#stopProducing(): top5ErrorsBySampler produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ErrorsSummaryConsumer#stopProducing(): errorsSummary produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer#stopProducing(): bytesThroughputOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.SyntheticResponseTimeDistributionGraphConsumer#stopProducing(): syntheticResponseTimeDistribution produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer#stopProducing(): latencyVsRequest produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer#stopProducing(): codesPerSecond produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer#stopProducing(): hitsPerSecond produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer#stopProducing(): responseTimeVsRequest produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): startIntervalControlerFilter produced 14 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer#stopProducing(): latenciesOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesOverTimeGraphConsumer#stopProducing(): responseTimePercentilesOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer#stopProducing(): responseTimePercentiles produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ConnectTimeOverTimeGraphConsumer#stopProducing(): connectTimeOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer#stopProducing(): responseTimesOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer#stopProducing(): responseTimeDistribution produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer#stopProducing(): transactionsPerSecond produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer#stopProducing(): activeThreadsOverTime produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer#stopProducing(): timeVsThreads produced 0 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): nameFilter produced 28 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): dateRangeFilter produced 6 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.NormalizerSampleConsumer#stopProducing(): normalizer produced 2 samples +2017/01/25 13:40:32 INFO - org.apache.jmeter.report.processor.CsvFileSampleSource: produce(): 2 samples produced in 83ms on channel 0 +2017/01/25 13:40:32 INFO - jmeter.report.dashboard.ReportGenerator: Exporting data using exporter:'html' of className:'org.apache.jmeter.report.dashboard.HtmlTemplateExporter' +2017/01/25 13:40:32 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Will generate dashboard in folder:/home/vagrant/project/jmeter/git.docker-jmeter/tests/trivial/report +2017/01/25 13:40:33 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Report will be generated in:/home/vagrant/project/jmeter/git.docker-jmeter/tests/trivial/report, creating folder structure +2017/01/25 13:40:34 INFO - jmeter.JMeter: Dashboard generated diff --git a/tests/trivial/test-plan.jtl b/tests/trivial/test-plan.jtl index 8350443..3999b46 100644 --- a/tests/trivial/test-plan.jtl +++ b/tests/trivial/test-plan.jtl @@ -1,3 +1,3 @@ timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect -1484917651302,320,HTML Page Test,200,OK,Scenario 1 1-1,text,true,,17487,180,1,1,317,0,185 -1484917652669,52,HTML Page Test,200,OK,Scenario 1 1-1,text,true,,17486,180,1,1,47,0,0 +1485351630254,354,HTML Page Test,200,OK,Scenario 1 1-1,text,true,,17488,180,1,1,344,0,207 +1485351631686,34,HTML Page Test,200,OK,Scenario 1 1-1,text,true,,17486,180,1,1,28,0,0