Elastic apm, what is transaction.duration.us? - elasticsearch

I'd like to measure avg request-response time for my webserver.
Apm has transaction.duration.us and it seems this could be the metric I'm looking for.
But I coulnd't find the documentation what it is.
Where can I find the meaning of the variable?

transaction.duration.us should indeed be what you're looking for. It's the duration in microseconds as an integer. Divide it by 1000 to get milliseconds, or by 1'000'000 to get seconds.
https://www.elastic.co/guide/en/apm/server/7.9/exported-fields-apm-transaction.html#_duration_2

Related

kamon with statsd backend: histogram median aggregation is wrong

I use kamon for a scala project and collect some metrics with Kamon.histogram. I use stastd + graphite + grafana as the backend. I record about 200 events per second.
The statsd has the flushInterval of flushInterval: 10000, (10 seconds), and kamon has tick-interval = 10 seconds.
I noticed that the median (and all the other percentiles) are computed wrong. Furthermore, when I change the tick-interval of kamon to 1second, the median value changes, becoming closer to the correct one (but still not quite).
This turned out to be a bug in kamon-statsd: https://github.com/kamon-io/kamon-statsd/issues/6

How to find Vusers using throughout and response time

Recently in an interview I was asked the question, to find Vusers using throughput and response time.
Question.
Find Vusers for throughput of 1260 bits per second and response time of 2 Milli seconds. The duration of the test we have run to achieve these results is 1 hour.
When I asked he said No thinktime or pacing, so it's zero.
So, As per Littles law, i calculated it as response time * throughput
1260*(0.002)=2.52 or 3..He said it's wrong..
Is there anything iam missing here? If yes then please let me know.. As per the response time as 2 Milli seconds which is rare I think 3 user should be ok..But if iam wrong then what is the correct calculation..
You do not want to work for this person.
In collapsing the time between requests to zero your interviewer has collapsed the client-server model, which is predicated upon a delay between requests from any singular client where requests from other clients are to be addressed.

Finding a maximum value in a dataseries using Prometheus or Grafana

We use the wmi_exporter to scrape system metrics from a Windows server. Now we want to find out the time periods where this server was used more than a certain percentage / amount.
In our Grafana dashboard I can see that on a certain day there was a spike:
But it is not possible to find this specific day when looking at for example 10 days:
It seems like this value is levelled out. My original plan was to check each month for spikes and then drill down to the specific days. But this won't work because I would miss spikes.
How can I find those spikes without inspecting every single day ?

Understanding jmeter terms and result

I am using jmeter to test my web application on tomcat. I just wanted to know the meaning of terms in simplest word: Deviation Throughput Average Median No of Sample
I have tested with
Number of thread(Users):1000
Rampup Period:1
Loop Count:1
No extra settings.
I am attaching the pics for reference. Can anyone tell whether result is good or not ?
No of Sample: Total number of requests sent to server during the test.
Average : Mathematical average of the Response times. This is the number which is quoted as your average response time of your http service.
Deviation : Mathematical standard deviation of the Response times. This shows how much the response time varies. Higher values means problem.
Ideally, your average, max and min Response times should be same. Of course, this is not a practical option. So you will target to keep the deviation as low as possible. Higher values generally means system stress - unless you are writing some kind of exponential backoff operations. Your Min and Max values shows very high difference and your deviation is way too high. If you are writing a simple HTTP service, you min - max values should have similar RT values.
In summary , For me, your Jmeter test result really looks scary and is leading me to believe you had run the test and the server on same machine leading to machine getting overloaded.Or the code is really buggy and gets bogged down on load.
Throughput : Simple term to define number of requests you can process per second or minute.
Median : Mathematical Median of the RT. Arrange the RTs in order and select the middle value. This should be as close to average value as possible.

Apache JMeter - listener results interpretation

I use JMeter to test my webapp application, I have aggregate graph with some score values, but I actually don't know what they mean...
Aggregate graph shows for example:
average
median
min
max
I don't know about what refer that values.
For what refer 90% line?
I also don't know what's the unit of throughput per second (bytes?).
Anybody knows?
JMeter documentation shows only general information about reports and listeners.
This link contains a helpful explanation for Jmeter Usuage, Results, Tips, Considerations and Deployment.
Good Luck!
Throughput - means number of requests per one second. So if two users open your website at the same time throughput will be 2/s - 2 requests in one second.
How it can be useful: check your website analytics and you see number of hosts and hits per one day. Throughput stands for hits per day. If analytics shows 200 000 hits per day this means: 200 000 / 86400 (seconds in one day) = 2,31 hits/s.
Average - the average of response time. I think you know what is response time - it's time between sending request and getting response from server. To get the average response time you should sum all samplers response time and devide to number of samplers. Sampler means user, request, hit, the meaning is the same.
Min - the minimal response time in all samplers. Differently we may say the fastest response.
Max - opposite of Min, the slowest response.
The throughput is generally measured in requests/second in things Jmeter.
As far as knowing what requests are within the 90% line, not really a way to do it with this listener. This is representing aggregate information, so it only reports on information about all the tests, not specific results.
For some different methods and ideas on getting useful information out of the responses, take a look at this jmeter wiki on log analysis.
If you don't already have it, jmeter plugins has a lot of useful controllers and listeners that can make understanding the results easier as well.

Resources