JM Runtime

Runtime Data Analysis

After running some tests it became apparent that the summary results printed during the test run were not so relevant for my jmeter scripts. In particular they pick up all sorts of samplers, including my data processors and csv loading routines for example. So the numbers reported are not just those hitting my target application. Also, the numbers are very general and Id like to see how particular transactions are doing, pass and fail rates and response times. This needs a more bespoke solution.

At some point, DB use needs investigating but for now the solution presented on this page works and its fairly simple to follow.

As an aside, I will generally be using Splunk and/or Graylog for performance test monitoring and analysis.

Ill start this topic by showing the final output from this solution, before explaining the settings and code used. This screen shot shows output from Jenkins where I have suppressed the standard summary reports and output specific results for two transactions within the jmeter script. You can see how the test run builds as users come on board and you can see how specific transactions are responding throughout the test:

runtime1

Settings for this output are placed in the assertions.properties file at the top level of the project. There are three settings:

    1. A list of the assertions to check
    2. How many samples to take from each injector
    3. Whether or not to output the summary reports as well

runtime2

The assertions listed are put into an array and used as is, so we need the complete file names as defined in the jmeter script:

runtime4

The assertions_sample setting determines how many rows of data are taken from each injector and collated before doing the analysis. This will depend on how many injectors you are using and how high a rate your transactions are running at. If not set, it defaults to 25 rows. See this code snippet, which also shows the assertions being split into an array for later use:

runtime3

The report_summary setting controls whether the standard summary reports are shown. The Jenkins output above has this setting set to no:

runtime5

These properties are project dependent so you can set it up on a per project basis to suit your requirements. If the properties file is missing, the solution will resort to default behavior.

[Home] [About (CV)] [Contact Us] [JMeter Cloud] [JM Highlights] [JM Overview] [JM Control] [JM Inject] [JM Threads] [JM Results] [JM Assertions] [JM TPS] [JM Metrics] [JM Runtime] [JM Collation] [JM Logs] [JM 95th] [JM 95th v2] [JM Jenkins] [JM Corporate] [JM Scripts] [JM Variables] [JM Embedded] [JM Hosts] [JM Running] [JM Example] [JM Versions] [webPageTest] [_64 images] [asset moniitor] [Linux Monitor] [Splunk ETL] [Splunk API] [AWS bash] [LR Rules OK] [LR Slave] [LR CI Graphs] [LoadRunner CI] [LR CI Variables] [LR Bamboo] [LR Methods] [LR CI BASH] [Bash methods] [Jenkins V2] [Streaming vid] [How fast] [Finding Issues] [Reporting] [Hand over] [VB Scripts] [JMeter tips] [JMeter RAW] [Dynatrace] [Documents] [FAQ] [Legal]

In the Cartesian Elements Ltd group of companies