Getting Graphs Generator to work

1,253 views
Skip to first unread message

Marcus Bointon

unread,
Aug 13, 2014, 8:44:51 PM8/13/14
to jmeter-...@googlegroups.com
I've been following this guide to use the graphs generator plugin. I'm running jmeter 2.11 with plugins 1.1.3 on OS X 10.9.4 with java 1.7.0_13 to test a local node.js app. I've amended my user.properties file as it suggests (including "jmeter.save.saveservice.autoflush=true", but I've also tried using the alternative config with the view tree listener), I'm using the TEST_RESULTS_FILE property it suggests  and I've also increased memory allocation to 2G, but several things appear to be going wrong. In GUI mode it generates graph files, but all say "waiting for samples". In CLI mode using the same jmx file, it claims to finish up ok, but generates no graphs at all. 

My command line is:

/usr/bin/env JVM_ARGS="-Xms2g -Xmx2g" jmeter -t ./cli.jmx -n -l /tmp/jmeter-results.csv -JTEST_RESULTS_FILE=/tmp/jmeter-results.csv

There is some suspicious stuff in the log:

2014/08/14 02:10:12 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2014/08/14 02:10:12 INFO - kg.apc.jmeter.PluginsCMDWorker: Using JMeterPluginsCMD v. 1.1.3
2014/08/14 02:10:12 WARN - kg.apc.jmeter.PluginsCMDWorker: JMeter env exists. No one should see this normally.
2014/08/14 02:10:12 INFO - jmeter.save.CSVSaveService: /tmp/jmeter-results.csv does not appear to have a valid header. Using default configuration.
2014/08/14 02:10:12 WARN - jmeter.save.CSVSaveService: Error parsing field 'timeStamp' at line 1 java.text.ParseException: Unparseable date: "1407970033347,147,Get timeseries intervals,200,OK,Browser client 1-1,text,true,605073,145"
2014/08/14 02:10:12 WARN - jmeter.reporters.ResultCollector: Problem reading JTL file: /tmp/jmeter-results.csv
2014/08/14 02:10:12 INFO - kg.apc.charting.GraphPanelChart: Saving PNG to /Users/marcus/Sites/mysite/benchmarks/results/ResponseTimesOverTime.png
2014/08/14 02:10:12 INFO - kg.apc.jmeter.listener.GraphsGeneratorListener: Successful generation of file results/ResponseTimesOverTime.png by plugin:ResponseTimesOverTime

Clearly there's something up with the CSV files.

If I use the normal graphs (not post-processed) they work fine, though I find many of them hard to read and harder to explain - like how average response time can be longer than the duration of the test, or why latency goes down as thread count increases beyond 250!

Any ideas what I'm missing?

Marcus Bointon

unread,
Aug 14, 2014, 5:30:31 AM8/14/14
to jmeter-...@googlegroups.com
I've nailed down a couple of things relating to this. The value that it was reporting as unparseable is clearly a whole line, not just a single field, so it's not spotting delimiters. In user.properties file I had this line, as recommended by the guide:

jmeter.save.saveservice.default_delimiter=;

yet jmeter was clearly ignoring this and using , as the delimiter instead. I changed this setting to , and the error no longer displays the whole line. Now I get this error:

Unparseable date: "1407970033347"

So the delimiter is now working, but this timestamp is clearly too long - it looks like a unix timestamp, but it's in milliseconds rather than whole seconds. If I cut off the last three digits, it's a parseable date, but lacks millisecond precision.

Why is jmeter writing files that it can't read??

Marcus Bointon

unread,
Aug 14, 2014, 5:48:21 PM8/14/14
to jmeter-...@googlegroups.com
I finally figured this out. The data file contained entries with two different timestamp types. At some point I must have output data to the same file from a different listener which was using a different timestamp format. I had assumed that a subsequent run would truncate the file first, but apparently not. Deleting the file and re-running resulted in graphs being generated. I've now added a temp dir creation and deletion wrapper around my command to run jmeter.

Marcus Bointon

unread,
Aug 15, 2014, 4:06:29 AM8/15/14
to jmeter-...@googlegroups.com
Alas, this is not the end of the story. There appears to be a bug in the Graphs Generator plugin that means it can't read its timestamps correctly. In some of the generated graphs, the x-axis is rendered correctly; in others there is no x-axis variation - all points are plotted hard on the Y-axis. The same graphs generated using the separate graph plugins running in the GUI produce good graphs of the same data. For example, here is a reasonable "Response codes per second" graph generated using the standalone plugin:

The same thing from the Generate Graphs plugin run from CLI:

All the timestamps across the bottom are the same; it appears to make no difference if I select relative mode for times. Curiously it's not all the graphs that do this - the latencies over time, response times over time, thread state over time, throughput vs threads, times vs threads graphs all render correctly from the same data, which is what makes me think it's a bug in the plugin, not a problem with the data.


Marcus Bointon

unread,
Aug 16, 2014, 2:49:39 AM8/16/14
to jmeter-...@googlegroups.com
Can anyone tell me where the bug reporter is for jmeter plugins so I can report this properly? The issue tracker in the github project is disabled.

Andrey Pohilko

unread,
Aug 16, 2014, 12:18:52 PM8/16/14
to jmeter-...@googlegroups.com, philippe...@gmail.com
+philippe.mouawad@

Hi,

Here's the place to talk about issues in JMeter plugins, no other issue tracker will work. I copied to Philippe, maybe he has any ideas, he's the author for this plugin. AFAIK he's on the vacation until 25th of august, so don't expect answer earlier than that.

--
Andrey

суббота, 16 августа 2014 г., 10:49:39 UTC+4 пользователь Marcus Bointon написал:

Philippe Mouawad

unread,
Aug 16, 2014, 3:03:42 PM8/16/14
to Andrey Pohilko, jmeter-...@googlegroups.com
Hello, 
I fixed this bug I think in a commit of march but it is still not released.
@Marcus, Which version are you using ?

Regards
Philippe


--
Cordialement.
Philippe Mouawad.



Marcus Bointon

unread,
Aug 16, 2014, 3:07:28 PM8/16/14
to jmeter-...@googlegroups.com, ap...@ya.ru
Good news, thanks for getting back to me! I'm using the latest from the jmeter-plugins site - 1.13.

Andrey Pohilko

unread,
Aug 16, 2014, 4:36:15 PM8/16/14
to jmeter-...@googlegroups.com, ap...@ya.ru
Please, try latest developer snapshot from here: http://jmeter-plugins.org/downloads/all/#Developer-Snapshots

And let us know if the issue is fixed with it.

--
Andrey

суббота, 16 августа 2014 г., 23:07:28 UTC+4 пользователь Marcus Bointon написал:

Marcus Bointon

unread,
Aug 16, 2014, 5:18:25 PM8/16/14
to jmeter-...@googlegroups.com, ap...@ya.ru
Sadly not - with the Aug 6th snapshot of 1.2.0 I'm still getting the same symptom on Bytes per second, Hits per second and Response codes per second.
Reply all
Reply to author
Forward
0 new messages