Estimate relay users by country based on responses to directory
requests to reduce the overall effect of binning and to make relay and
bridge user estimates more comparable.
Implements #18203.
- style: Lines should not be more than 80 characters.
- style: Only use double-quotes.
- style: Put spaces around all infix operators.
- style: Trailing blank lines are superfluous.
- warning: local variable ‘...’ assigned but may not be used
Also leave a comment to run lintr after making non-trivial changes.
The new icon is based on clock, solid style in Font Awesome Free
5.21.1. It was converted using Inkscape 0.92.4 using the command:
`inkscape -z -e clock.png -w 16 -h 16 clock.svg`.
Fixes#33453.
The old PL/pgSQL version of this function made three lookups in the
bwhist table to 1) check whether a row already exists, 2) insert or
update the row, and 3) update the row once again with array sums. The
new SQL version uses the INSERT ON CONFLICT statement introduced in
PostgreSQL 9.5 (Debian stretch has 9.6, buster has 11). The
performance gain measured using metrics-test is impressive, computed
aggregates are equivalent.
This reverts commit b3e80fce17 and also
reverts a similar workaround made after that commit.
The spread() function works fine again using buster's r-cran-tidyr
0.8.2-1 package, whereas it was previously broken with stretch's
r-cran-tidyr 0.6.1-1 package.
Fixes#30351.
As discussed on the ticket, we can explain better which cells are
counted for onion service traffic graphs: it's cells relayed by
rendezvous points.
It was also confusing to say "per day" in the graph description when
bandwidth is in gigabits per second. Removed that part.
Finally, there's now a glossary entry for "rendezvous points" that is
based on the glossary entry in torspec.
Fixes#26171.
We shouldn't depend on metrics-lib's implementation classes but only
on its provided interfaces. In this case, downloading and parsing an
index.json file is something that we can easily build ourselves using
a POJO and Jackson. Removing this dependency will make it much easier
to refactor metrics-lib.