wavefront query to get total count of all metrics in one hour - metrics

I am able to get requests per second with
ts(abc.xyz.count and url = "some/url")
how to I get total count per hour?

Related

Can we calculate the approximate TPS (Transactions per second) value that we reach based on Hourly active user count?

One of my clients is asking about the expected TPS before the execution. He has given the below requirements to initiate the load test,
The expected hourly active user count: 14250 (concurrent)
The total think time: 625 Seconds (4 thread groups with different user flows. each flow action controller has 5 Seconds delay)
No Pace time: 0
Total Number of endpoints: 212 (4 thread groups with different user flows)
Can anyone help me to calculate the approximate TPS (Transactions per second) value that we reach for the above configuration?
Is this data set will sufficient to do this calculation? Appreciate it if anyone can help with this calculation.
It's not sufficient because you don't know the response time for all 212 endpoints, you can assume what could be the TPS if response time would be 1 second or 2 seconds, but it's not possible to predict the actual TPS without knowing what is the response time.
According to JMeter Glossary:
Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.
The formula is: Throughput = (number of requests) / (total time).
More information: How do I Correlate the Number of (Concurrent) Users with Hits Per Second

Dashboard report - Transaction/sec

Can anyone help me to understand how is the Transactions/s calculated in here:
The test is run for 5 mins with 10 users.
According to JMeter Glossary:
Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.
The formula is: Throughput = (number of requests) / (total time).
So if you look into .jtl results file you will see timeStamp column, normally it's the first one.
Find 1-Home request with the earliest timestamp - that will be start time
Find 1-Home request with the latest timestamp and add to it the value from the elapsed time - that would be end time.
Subtract start time from the end time - that would be total time
Divide 88 by that total time - you will get 0.29
More information:
Calculator.getRatePerSecond()
What is the Relationship Between Users and Hits Per Second?

Grafana elasticsearch - How to do arithmetic operation on two elastic queries result

I am drawing timeline link chart to get avg post counts per active users. I have following query result:
A: total active users [unique] count per hour
B. total posts added by all users per hour
I want to draw line chart for avg posts per active users for that hour [B/A].
How I can divide result of B by A for each hour.

Jmeter: Random number of labels everyday

I am executing same test plan for two consecutive days:
First day no of Label (column A) are more than 1400
Second day no of Label are only 968 only
First day:
Second day:
I see that first day has samples 12, throughput almost zero and KB/sec 0.1
Second has better performance. Please help me understand:
What is difference between Label/Samples/Requests?
Do Number of labels depends on Throughput and Kb/sec i.e. Column K and L?
Label is basically the name of the thread group in your case. it is basically the request name that you are hitting from JMeter.
Samples are the number of times that particular request was executed.
e.g. If you have some request called login and number of samples for login are 5 it means that the login request was executed 5 times during the test.
The number of samples would vary based on the Test settings like number of users, iterations or duration of the test specified.
The number of labels = number of samples and throughput is related to each other.
Throughput = Number of Requests per second or minute and
Kb/Second = (Throughput* Average Bytes) / 1024
So the two are correlated.
I hope this helps.

Throughput calculation in Jmeter

Attached is the Summary Report for my tests.
Please help me understand how is the throughput value calculated by JMeter:
example the throughput of the very first line 53.1/min, how was this figure calculated by JMeter with which formula.
Also, wanted to know how are the throughput values in the subsequent test divided into mins or secs. example the 2nd line has a throughput 1.6/sec, so how does JMeter calculate this throughput values based on the time units ?
Tried many websites on the net and have got a common reply that the throughput is the number of requests per unit of time (seconds, minutes, hours) that are sent to your server during the test. But that didn't apply to the results I see in my graph the way it was explained straight forward.
Documentation defines Throughput as
requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.
The formula is: Throughput = (number of requests) / (total time).
So in your case you had 1 request, which took 1129ms, so
Throughput = 1 / 1129ms = 0.00088573959/ms
= 0.00088573959 * 1000/sec = 0.88573959/sec
= 0.88573959 * 60/min = 53.1443754/min, rounded to 53.1/min
For 1 request total time (or elapsed time) is the same as the time of this single operation. For requests executed multiple times, it would be equal to
Throughput = (number of requests) / (average * number of requests) = 1 / average
For instance if you take the last line in your screenshot (with 21 requests), it has an average of 695, so throughput is:
Throughput = 1 / 695ms = 0.0014388489/ms = 1.4388489/sec, rounded to 1.4/sec
In terms of units (sec/min/hour), Summary report does this:
By default it displays throughput in seconds
But if throughput in seconds < 1.0, it will convert it to minutes
If it's still < 1.0, it will convert it to hours
It rounds the value to 1 decimal digit afterwards.
This is why some values are displayed in sec, some in min, and some could be in hours. Some may even have value 0.0, which basically means that throughput was < 0.04
I have been messing with this for a while and here is what I had to do into order for my numbers to match what jmeter says
Loop through my lines in the csv file, gather the LOWEST start time for each of the labels you have, also grab the HIGHEST (timestamp + elapsed time)
Calculate the difference between those in seconds
then do number of samples / the difference
So in excel, the easiest way to do it is get the csv file and add a column for timestamp + elapsed
First sort the block by the timestamp - lowest to highest then fine the first instance of each label and grab that time
Then sort by your new column highest to lowest and grab the first time again for each label
For each label then gather both of these times in a new sheet
A would be the label
B would be the start time
C would be the endtime+elapsed time
D would then be (C-B)1000 (diff in seconds)
E would then be the number of samples for each label
F would be E/D (samples per second)
G would be F60 (samples per minute)

Resources