JMeter - Requests not getting grouped within controllers in graph output - jmeter

In my test plan I have a series of steps like Login, HomePage, DoSearch, DoTask, Logout and each has a number of HTTP requests. I have tried using Simple Controllers, Transaction Controllers, keeping transaction controllers within simple controllers, and vice versa but am unable to see the timings at a step level in any graph. It at the most shows me the timings for Login, but other requests are not grouped on either controllers. Tried checking "Generate Parent Sample" and "Include duration..." but no luck.
Can someone let me know what needs to be done here?

You need to add a Listener. Each listener provides different information. I usually just use aggregate report.

Related

jmeter: how to use recorder twice for same jmx file to record 2 different scenarios?

When you use the built in script recorder, it "writes" transaction controllers to the "Recording controller", where each transaction controller then has all the pages assets (images etc).
So you have recorded a few pages (e.g. a logged out user scenario), and modified some settings added "think time" between controllers.
Now you want to record another scenario, e.g. a logged in user scenario (so you can play back a mix of logged in and logged out users both hitting your site).
Jmeter only has one "recording controller".
how could one do this? I assume if I "record" more pages aka transactions, they get appended to the the existing recording controller, so be played back in series.
Can the transaction controllers be "moved out" of the recording controller? I have tried moving them to a new threadgroup, and it seems to work, but not sure if this is correct.
How about if I create two thread groups, and tick "run thread groups consecutively"? Is it then possible to force the script recorder to use a different TG? (one TG for logged out scenario, one for logged in) Can blazemeter handle two thread groups (as you have to manually enter the number of users in the UI, do you need to add the two TGs number of threads?
Whats the best strategy to recording a scenario in stages (e.g. if you want to record say 20 pages, and make a mistake, you have to start again from scratch - there is probably a better strategy?
Well, the answer was quite simple.
After recording a bunch of "transaction controller" you can simply copy and past them anywhere, including under a new simple transaction controller (which is just a way to collect them together) or under a threadgroup.
You can also drag and drop the recording controller to a new place, and it magically records to the new location.
So two options.
Awesome.

Java8 - Asynchronous execution of independent code

Java8 - In my portal, on the page (Homepage) which gets displayed after Customer logs in, I need to display multiple sections like,
Order details, Available invoices, Catalog pdf etc.
There is no dependency between these sections, just need each section data to display on the front end.
If I try to get these data sequentially on the back end, it takes time to display the Homepage.
I'm looking at speeding up this process, I could think of:
Instead of trying to get all details after login on the back end, I will first display the Homepage, then make individual ajax calls for each section using jQuery.
Use forkjoinpool (RecursiveTask) on the back end and fire up recursive tasks for each section
I prefer doing it on the back end (business tier), Is there any other solution available on Java8 to acheive this task? Looking at calling asynchronously every section logic instead of sequential flow.

JMeter - Show selected steps from in the grafana

I have situation with JMeter and grafana,I have a script with sixteen steps but I want to show only 8 of them in Grafana.
So far I used Backend Listener, added it to the Thread Group and voila - everything is working and results can be read from Grafana but now I want to show only 8.
I can't break it on two different scripts...It must be one script in one Thread Group
Put the specific 8 requests and Backend Listener under same controller, even Simple Logic Controller to report only them to Grafana
Simple Logic Controller lets you organize your Samplers and other Logic Controllers. Unlike other Logic Controllers, this controller provides no functionality beyond that of a storage device.
Please check elastic search backed listener.
Filters
Only send the samples you want by using Filters! Simply type them as
follows in the appropriate field : filter1;filter2;filter3 or
sampleLabel_must_contain_this.
Reference;-https://github.com/delirius325/jmeter-elasticsearch-backend-listener
In backend listener, there is also a field name samplersRegex or sample list (based on different implementation). Check that if that can help you to put filter.
I have not tried this but with the above information it seems there is a possibility of this.
Kindly check if this helps.

Apache Jmeter Graphs

I have a question regarding graph for child requests of HTTP request sampler.
I am making a request to home page and including option of request embedded resources.
In response I am getting home page and also some css and js files.
Now I need a way to add graphs for those child requests(css and js files ). In response time graph, I can see only one graph for home page.
Is there a way to add these fields to graph along with home. are there any third party plugins you guys are aware of.
Thanks for your response.
Ramesh
Based on what I read at http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request, I believe that when you tell it to request embedded resources, it encapsulates this as part of the request, so the response time you see is the overall response time, and I don't think you can easily do what you want. That said, you can use various post processors to extract the URLs of the embedded into variables items and then do requests for them individually, though it's a pain.

Jmeter - Response time by resource type

I am using Jmeter to test a web page. Obviously it has css, images, js etc. How can I group the response times by css,js and images so that I can clearly see the response time broken by resource types.
You pose an interesting question. The listeners in JMeter show what's at the sibling/child level. Therefore, instinctively, if you want just one type of resource in a given report, you'd need to put all the requests in a single controller and give that controller a listener.
You can get around restructuring your test by renaming your samples in a consistent manner. Something like: "CSS - actual request name".
Then, using Aggregate Report, you can copy the results into a spreadsheet, sort by name, and get your metrics that way.
I think you can use parallel controller to group the type of static files, ajax, etc. And use a transaction controller to group the page you would like to request, under the transaction controller you can add the parallel controller as hierarchy.

Resources