Opened 4 years ago

Last modified 8 weeks ago

#15706 assigned task

Extract statistics on incremental update success rates

Reported by: mikeperry Owned by:
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: MikePerry201507, tbb-update
Cc: gk, brade, mcs, mikeperry Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

The Tor Browser updater supports incremental (binary delta) updates on all platforms. However, if the user changes a file that is about to be updated, the incremental update will fail, and a full update will be downloaded instead. This seems most likely to happen on Linux, where it may be common for people to modify their start-tor-browser script with custom changes (see #15456). We would like to know how common this is among our userbase, so we can determine if we should devote effort into #15456 and any other potential similar cases (like torrc changes, for example).

To find this out, we need relative hit counts from one or more of our dist.tpo hosts for tor-browser-linux*-4.5a5_*.mar and tor-browser-linux*-4.5a4_*.mar.

4.5a5 was released on March 31st, and 4.5a4 was released on February 25. Hit counts for those mar files from the following week or two are probably most relevant.

Child Tickets

Change History (20)

comment:1 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201504 added; TorBrowserTeam201405 removed

comment:2 Changed 4 years ago by mikeperry

Oh, I missed a line of IRC paste when filing this ticket. The important stat we need is total counts of tor-browser-linux*incremental.mar vs tor-browser-linux*.mar for 4.5a4 and 4.5a5.

comment:3 Changed 4 years ago by gk

Cc: gk added

comment:4 Changed 4 years ago by mcs

Cc: brade mcs added

comment:5 Changed 4 years ago by weasel

We don't keep access logs for that long.

Our earliest logs currently are from April 4th.

From one mirror:

weasel@listera:/var/log/apache2$ zcat dist.torproject.org-access.log-2015040* | awk '$9 == "200" && $7 ~ /\/tor-browser-linux.*4\.5a.*mar$/ {print $7}' | sort | uniq -c   
      4 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_de.incremental.mar
    105 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_en-US.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_es-ES.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_it.incremental.mar
      5 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_pt-PT.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a4-4.5a5_zh-CN.incremental.mar
      3 /torbrowser/4.5a5/tor-browser-linux32-4.5a5_de.mar
     15 /torbrowser/4.5a5/tor-browser-linux32-4.5a5_en-US.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a5_es-ES.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a5_ru.mar
      1 /torbrowser/4.5a5/tor-browser-linux32-4.5a5_tr.mar
      9 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_de.incremental.mar
     78 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_en-US.incremental.mar
      3 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_es-ES.incremental.mar
      7 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_fr.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_it.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_nl.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_pl.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_pt-PT.incremental.mar
      4 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_ru.incremental.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a4-4.5a5_tr.incremental.mar
      4 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_de.mar
      7 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_en-US.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_es-ES.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_nl.mar
      2 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_ru.mar
      1 /torbrowser/4.5a5/tor-browser-linux64-4.5a5_tr.mar

comment:6 Changed 4 years ago by mikeperry

weasel - thanks for this. I think the best option is to try this again during subsequent releases. Is there any way you can set up some kind of automated export of this statistic, so we can examine it for each release? It might also be useful to have the breakdown per OS (in case there is actually a large number of MacOS or Windows users who are hacking random things), but we don't need per locale.

This statistic will help us minimize the bandwidth cost on both the Tor network and our mirrors for each TBB release, so personally I think it is very important to have.

comment:7 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201505 added; TorBrowserTeam201504 removed

comment:8 Changed 4 years ago by mikeperry

Owner: changed from weasel to mikeperry
Status: newassigned

Ok, it turns out I have enough access to do this myself, which is probably best, since I'll want to toy with the stats we gather for a while. Here's some words of wisdom from weasel:

08:13 < mikeperry> do I need to know where the log files live on each mirror?
08:14 < weasel> mikeperry: /var/log/apache/dist.torproject.org....
08:14 < weasel> mikeperry: see for instance on aroides.
08:14 < weasel> the other mirrors have identical setups
08:16 < weasel> also,
08:16 < weasel> weasel@aroides:/etc/munin/plugins$ MUNIN_LIBDIR=/usr/share/munin ./swap config   
08:16 < weasel> graph_title Swap in/out
08:16 < weasel> ...
08:16 < weasel> weasel@aroides:/etc/munin/plugins$ MUNIN_LIBDIR=/usr/share/munin ./swap          
08:16 < weasel> swap_in.value 3943
08:16 < weasel> swap_out.value 8040
08:16 < weasel> is an example script.  there are many others there.

comment:9 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201506 added; TorBrowserTeam201505 removed

comment:10 Changed 4 years ago by mikeperry

Keywords: MikePerry201506 added

comment:11 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201507 added; TorBrowserTeam201506 removed

Move over remaining June items to July

comment:12 Changed 4 years ago by mikeperry

Keywords: MikePerry201507 added; MikePerry201506 removed

Move my tickets over for July

comment:13 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201508 added; TorBrowserTeam201507 removed

comment:14 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201508 removed

comment:15 Changed 4 years ago by weasel

Component: Tor Sysadmin TeamTor Browser
Severity: Normal

I don't think any tor-admin things remain to be done here.

comment:16 Changed 10 months ago by arma

Do we still think this is a worthwhile goal?

(I would hope that the fraction of Tor Browser users who hack their local scripts, even on Linux, is tiny compared to the overall population. Maybe there are bugs in the updater that cause a larger fraction of the user base to end up fetching the whole (non-incremental) update, but those sound like different issues than this ticket or its parent #15456 are for.)

comment:17 Changed 7 months ago by gk

I think, yes, understanding how we are doing with incremental updates is worthwhile.

comment:18 Changed 7 months ago by gk

Keywords: tbb-updater added

comment:19 Changed 7 months ago by gk

Keywords: tbb-update added; tbb-updater removed

Renaming keyword to make it a bit broader

comment:20 Changed 8 weeks ago by gaba

Cc: mikeperry added
Owner: mikeperry deleted
Note: See TracTickets for help on using tickets.