GlassWire Graph is Meaningless

I definitely agree about the changing windows size being misleading. The graphs should not be different just because someone has a different size monitor:

GlassWire already provides us with a view of the data used for the graphs and we should be using that Usage view to determine whether the graph is misleading. What you have done instead is to estimate that data from the graph. That seems meaningless because your assumptions (sampling intervals, data points, etc) will determine what is contradictory.

If I get the time tomorrow, and no one has done it beforehand, then I will have a look at comparing the Usage stats with the Graph.

That seems meaningless because your assumptions (sampling intervals, data points, etc) will determine what is contradictory.

What do you mean by that? I’m showing that it’s impossible to make any valid assumptions about the graph because of the way it is designed. The fact that I can make multiple contradictory and valid interpretations of the graph shows the issue lies in the graph, not in my assumptions.

I asked you to interpret a graph earlier and you deferred to the Usage tab. The fact that neither you nor I can correctly interpret the graph is the whole crux of the issue. I want you to understand something clearly: If you’re looking at a “spike” or an “area” in the graph, what you see bears no resemblance to the reality of what’s happening on your network connection. It’s entirely meaningless. The heights of the spikes and the overall area under the curve are essentially random, meaningless data. It’s just eye candy. I can’t make it any clearer. The only reason you haven’t realized this is you probably haven’t run a real bandwidth monitoring tool along side it.

I would like to see what the GlassWire team think about this; and I mean to specifically address the issue of the “3 Hour” and larger graphs being meaningless. Are the points I have made sufficient for you to understand what needs to be done in the next GlassWire release? In short, make all graphs behave exactly like the “5 Minutes” graph. That’s the main thing that needs to be done for GlassWire to become a tool that can be used by people who want to see more than a pretty graph.

The GlassWire graph is based on the data. The data that is available to end users is summarized in the Usage view. So to determine if the graph really is meaningless then we would need to look at the relationship between the usage data and the graph.

Another alternative would be to use a another program to generate the statistics and compare them with the Graph view. If you had followed my links you would see that I have used other products like Networx.

“So to determine if the graph really is meaningless then we would need to look at the relationship between the usage data and the graph.”

I agree completely. In fact I was almost going to suggest you try doing this. If you do you’ll find no meaningful way to translate the graph to the numbers seen on the usage table and I think you’ll find my earlier comments make a lot more sense when you start trying to interpret the graph. Could you please give this a go and return with your results?

Hopefully, I’ll get it done tomorrow.

I’m going to include my findings in a number of posts as I get the time. There was more than one thing I wanted to check.

Notes

  1. I recorded to the nearest 0.1MB to save time. This did introduce cumulative rounding errors because of many small readings just less than 0.05MB. But I can always do this again recording exact stats now that I know I can get comparable data.

  2. Graph data is for a time period which is centered on the time displayed. Here’s some examples:
    14:23:30 is 2:23 to 2:24pm
    14:24:30 is 2:24 to 2:25pm
    14:25:30 is 2:25 to 2:26 pm

  3. Usage data is from a start to end time so I didn’t have to work out when a period starts and ends.

A. Check the consistency of graphs in different Graph views

Consistency between the various Graph views means that I can analyse data in a short-term graph like “3 Hours” and then come back at another time or on another day and look at the same data.

Here’s the “3 Hours” graph I worked with.

Here is the equivalent “24 hours” view. They look and act the same:

Using the “Week” view, I couldn’t get a matching graph because I couldn’t get a 3 hour time period. The best I could get was 6 hours but the graphs still look similar.

I matched data by clicking on each graph to discover the intervals being used for the time periods I selected:

  • 1 minute intervals on the “3 Hours” graph
  • 5 minute intervals on the “24 Hours” graph
  • 10 minute intervals on the “Week graph”

I summed the data as required so I had 10 minute blocks. They matched.

Since you have said you are doing a multi-part post I will withhold commentary until you are done.

However I do suggest two things:

  • Always make a comparison against the “5 Minutes” graph. It’s the only one known to be valid.
  • When calculating the total data transfer, take the area under the graph rather than by summing the points. My arguments revolve around the area of the graph (i.e. what the graph looks like to the human eye) as opposed to the points which act as anchors for the spline curve.

The data I matched was the reported bandwidth when you click in the graph as shown within the red highlight:

Sorry if it wasn’t clear that I wasn’t actually getting any data from the plotted lines or areas. :blush:

I simply tried to check that the graphs were logically consistent in the data they used. That also established a measure of validity for the various graphs.

I tried to make the graphs look visibly the same before I extracted all the underlying data by clicking on the graph. This way I could see the impact of different time scales:

This leads on to the next check:

B. Check how easy it is to compare Usage data with the Graph data

I took the above data from the Graph view to compare it with the Usage statistics. It is not straightforward to do, although it should be.

One problem with the Usage statistics is that one hour was the shortest time period I could get using the sliders on the shortest view, the Day view. So if I wanted Usage for 15 minute intervals I had to collect the hourly stats every 15 minutes and then derive the differences for the 15 minute intervals.

For serious analysis of actual usage, I should be able to get Usage intervals down to 1 minute as I could in the Graph view.

Another problem is having to calculate 15 minute traffic. Here’s an example of my calculation in an Excel worksheet:

The calculation is easier to start with no traffic. Any change in the traffic (in MB) would always come in the fourth (and latest) quarter. Many users probably would not find it easy to work this out and might think that there is a problem if they didn’t time-shift the usage differences to match the Graph data which also has to be manipulated to line it up.

Flipper, while I agree that I would like to see comments from Glasswire, I’m much more in agreement with Remah than with you. First of all, your bold statement that the Glasswire Graph is Meaningless is simply your exaggerated perception. I find it very useful for many reasons and hope we won’t see major changes to the existing resulting from your comments. (Adding different graph views may be worthwhile depending on the Glasswire perception.)

Secondly, with all your beating on this subject, there have been no “likes” nor any replies stating agreement. If you perceive the Graph is meaningless or not useful, then perhaps you should act on that basis. There have been a few others who have chosen not to use Glasswire.

I do expect that based on the dissection that you and Remah have provided, the Glasswire team will consider how the product may be improved. So I’m not interested in stopping this debate, but I do point out that you stand on a rather lonely looking island – at least until someone else finds your commentary useful.

We are working on a mobile version of GlassWire currently and this version allows us to play around with the graph and make it more usable, so we appreciate all your comments and feedback. After releasing a mobile version with a revised graph we plan to come back to Win/Mac and figure out ways to revise our desktop software graph and make it more usable.

We don’t feel our graph is meaningless but we appreciate all comments about the graph and GlassWire and we’ll continue to work hard to improve. Our whole team reads and discusses the message board often.

statement that the Glasswire Graph is Meaningless is simply your exaggerated perception

Which of the several examples I gave to support my perception are invalid?

Secondly, with all your beating on this subject, there have been no “likes”

Trial by social media doesn’t apply to statistics nor anything for that matter.

C. Check that the graph data points are drawn to match the graph data

This is simply whether there is a point on the line that represents the data when I click on the graph.

This is not the issue of whether a line chart or bar/column chart should be used.

I ran an Internet connection speed test to separate download and upload graphs.

I marked the data I read from the GlassWire graph onto the graph itself as black columns. The results was almost exact and is within the tolerances expected due to rounding in GlassWire and my plotting the lines manually:

D. Other points raised by @Flipper that I agree with

@Ken_GlassWire, I’d appreciate some feedback on the following points.

The loss of usable information after the “5 Minutes” Graph
I think that I’ve finally realized one reason why @Flipper (correct me if I am wrong) thinks the longer graphs are meaningless. It is the loss of meaningful data which is why he/she says:

There appears to be no way to get data sampled at 1 second intervals after the first five minutes.

If I was analyzing bandwidth usage then I would want to be able to see the 1 second data for longer. But I presume that it is discarded once summarized and eventually only exists as hourly aggregates.

Provide an option to use a bar/column chart
As @Flipper says, the columns on the above graph are easier to read than the line and it is easier to see the sampling intervals. The latter reason alone would be a good reason to provide one or more display options:

  • bar/column chart
  • add vertical lines like this:

Display the sample interval

The ability for GlassWire to summarize data over a selected time period

But I would also add minimum, average and maximum statistics for that period.

1 Like

@Remah Yes, I was thinking about adding a bar option might be useful, but it may be easier said than done.

It’s been over a year since I posted this thread. Has there been any progress by the GlassWire team in replacing the graph with something that shows meaningful information?

To my mind this should have been fixed within days of being reported. It seems unusual that a business whose premise is to display network traffic knowingly produces a graph that is practically meaningless. It also says volumes about the companies listed on the homepage that none of them bothered to check the correctness of the data being presented by the application.

I’m still ready to buy this product (yes, even a year later) as soon as someone redevelops the graph so it’s more than a pretty picture.

I too find the lack of time period information confusing. However by clicking in small increments along the graph it seems that:

  • 5 minutes: Data per second.
  • 3 Hours: Data totalled in five minute buckets. Divide by 300 to get average data per second for each five-minute period.
  • 24 Hours: Data totalled in hour buckets. Divide by 3600 to get average data per second for each hour.
  • Week: Data totalled in six hour buckets. Divide by 21,600 to get average data per second for each six hour period.
  • Month: Data totalled in day-long buckets. Divide by 86,400 to get average data per second for each day.

The issue isn’t helped by the bucket totals (which should be solid rectangular bars) have been smoothed to make a curvy area graph. Only the centres of the buckets have the correct Y-axis height, the curved parts don’t provide any additional data.

I would suggest the graphs could be significantly improved by:

  1. Displaying the average data rate per second in the top left corner, whatever the time scale. That is, divide the current number by the number of seconds per bucket.
  2. Either display the bucket size (e.g. “12KB/s averaged over hours”) or display the data as a proper bar graph instead of the smoothed bar graph. Or perhaps display the smoothed line on top of the actual bars?
  3. Display the bucket time period in the status information under the graph when the graph is clicked. (e.g. “22GB this day”, “128KB this five minutes”, etc.).

Update: it’s more complicated. The bucket size depends on the graph size. Making my graph full screen changes to:

  • 5 Minutes: Data per second (with minimum lower graph window, as by default).
  • 3 Hours: Data totalled in one minute buckets.
  • 24 Hours: Data totalled in half-hour buckets.
  • Week: Data totalled in six hour buckets.
  • Month: Data totalled in six hour buckets.

You can also work out the bucket size, at least for the shorter views, by watching the “current” data point. This slowly grows in height until the bucket time period has expired, when it drops back down to fill up the next bucket.

1 Like

And full-screen but with the lower graph window made as narrow as possible:

  • 5 Minutes: Data per second.
  • 3 Hours: Data totalled in five second buckets.
1 Like

Perhaps we could add a different mode with a less smooth graph for people who would prefer that type of graphical representation. Thanks for your feedback and other ideas also.

Can i please explain the entire problem form a clear mind.
I see the complaintants point but it is all due to one factor missing from teh graphs.
A vertical scale.
When we select anything other than a zoomed in 5 minute graph we are given a MB figure with no indication over what time. We dont know what each plot on the smooth line graph represents.
I have manually worked it out.
If i click on the 3 hour graph, completely zoomed out for the entire 3 hours on the screen, and the scale reads, for example 60MB, the highest point is at about 55 MB, that doesnt tell me over what time the 55 MB was transferred. So that is meaningless. sorry.
I worked it out, when zoomed out with this example of the 3 hour graph, a unit of time is 5 minutes, so the graph scale should say “60 MB/5 Minutes”.
For ever graph scale legend, you need to concatenate onto the end of the figure, how long a plot unit is.
Zoom in halfway to 1.5 hours, and the plot gradually changes to one minute intervals. this is a sliding scale and so are the time units. This is obviously done so the graph always looks smooth and doesn’t change drastically as the user zooms in.
You cannot work this out with my technique on the more detailed 5 minute graph because the timescale (when you click on a datapoint and read the information) is only in 1 minute increments, but the graph can be in increments of seconds.
Developers, if u dont understand this reply, You need to make contact with me, as i am 100% adamant i understand the problem and have the solution.