I'm using Packetbeat to capture traffic from an Internet access network. How can I calculate and chart the times taken by individual users' devices to load web pages, over some time period? As you can see, since a web page contains many objects that are downloaded separately, and sometimes from different servers, the responsetime is given separately for each HTTP GET. In addition, the loadtime is blank.
Then, how can I calculate the page size, including all downloaded items for each page?
Have you had a look at the packetbeat HTTP dashboard? The dashboard for example create a histogram on response times. Using the dashboard/visualization you can use the filter bar to us search functionality to further filter the data you want to consider. With filters stored in the URL you can also bookmark a dashboard with filters applied.
So you want to combine multiple related requests? This is not easily possible in a generic way with packetbeat, as packetbeat captures transactions only. You basically need a way to correlate multiple request/transactions into one page load. Maybe this can be done with some logstash community plugin?
As a passive observer of the traffic I wonder if it is possible to correlate all the requests to a single page load given that the same client could be loading multiple copies of the same page. I was thinking that you could possibly correlate a group of transactions based on the client ip, UserAgent, Referer and some time window.
Flows might not really help. 1) The flow-id is not stored in HTTP transaction event yet. 2) browsers normally use N concurrent connections. 3) Some connections are re-used for additional requests.
With loading elements concurrently using multiple connections, request response times could not be easily added up.
Sounds like you want some integration with e.g. boomerang.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.