Commit Graph

514 Commits

Author SHA1 Message Date
Karsten Loesing
ba6c63a707 Parse partial download times from Onionperf files.
Implements #26673.
2020-05-14 09:30:58 +02:00
Karsten Loesing
afc57a6120 Include previously unknown error codes in Torperf results.
As discussed on #34031, we should avoid keeping a map of known failure
types in the sources and simply put together the error code in the
format we want.

This patch implements that change.
2020-05-12 21:35:58 +02:00
Karsten Loesing
95771bfb9f Bump version to 2.12.2-dev. 2020-04-30 22:15:10 +02:00
Karsten Loesing
7a5115dd76 Prepare for 2.12.2 release. 2020-04-30 22:11:52 +02:00
Karsten Loesing
1c3bcae76d Change order of detecting descriptor types.
We are detecting descriptor types of parsed descriptors by either
content or file name. In some cases, if we downloaded descriptors from
web servers, there is no file name. In other cases the file name can
match more than one descriptor type. It seems most robust to move the
file name checks to the end, which includes web server access logs and
OnionPerf analysis files.
2020-04-30 22:06:53 +02:00
Karsten Loesing
037f463761 Bump version to 2.12.1-dev. 2020-04-30 17:16:47 +02:00
Karsten Loesing
aa55fd05f0 Prepare for 2.12.1 release. 2020-04-30 17:11:37 +02:00
Karsten Loesing
d4bb28525f Change back how we treat xz-compressed files.
It seemed like a good idea to decompress xz-compressed files before
handing over decompressed bytes to descriptor implementations.
However, our web logs expect descriptor bytes to be in compressed
form, and now they're unhappy about receiving uncompressed bytes.
Changing this back and teaching OnionPerf analysis files to expect
compressed bytes, too. Found by running CollecTor's unit tests.
2020-04-30 17:08:44 +02:00
Karsten Loesing
7efeec721f Bump version to 2.12.0-dev. 2020-04-30 16:14:25 +02:00
Karsten Loesing
fcbcdd848a Prepare for 2.12.0 release. 2020-04-30 16:08:07 +02:00
Karsten Loesing
7eb783968b Add parsing support for OnionPerf analysis files.
Implements #34070.
2020-04-30 15:56:52 +02:00
Karsten Loesing
3f298b1b57 Bump version to 2.11.0-dev. 2020-04-13 11:40:26 +02:00
Karsten Loesing
471c1cb32f Prepare for 2.11.0 release. 2020-04-13 11:37:04 +02:00
Karsten Loesing
e7d7af88a6 Update to latest metrics-base. 2020-04-06 11:48:41 +02:00
Karsten Loesing
d7d5303e76 Simplify logging configuration.
Implements #33549.
2020-03-31 09:47:55 +02:00
Karsten Loesing
335b02441f Add change log entry for #33090. 2020-03-31 09:46:19 +02:00
Karsten Loesing
e2fc2cb14d Make all descriptor instances serializable.
Implements #33090.
2020-03-12 22:42:40 +01:00
Karsten Loesing
81570c4dbc Parse recently added lines.
- Compute bandwidth file digests.
 - Parse bandwidth file header and bandwidth file digest in votes.
 - Parse bridge distribution requests in bridge server descriptors.
 - Parse authority fingerprint in bridge network statuses.

Implements #33206.
2020-02-26 21:31:08 +01:00
Karsten Loesing
9ccb934fac Avoid invoking overridable methods from constructors.
Fixes #33205.
2020-02-22 09:29:33 +01:00
Karsten Loesing
6408bd9a85 Update to latest metrics-base. 2020-01-15 22:45:39 +01:00
Karsten Loesing
4581035acf Bump version to 2.10.0-dev. 2020-01-15 22:45:29 +01:00
Karsten Loesing
abcbd7c7a6 Prepare for 2.10.0 release. 2020-01-15 22:09:27 +01:00
Karsten Loesing
0db8a5787c Update copyright to 2020. 2020-01-15 21:29:57 +01:00
Karsten Loesing
5fb36b70c8 Parse three new lines in snowflake statistics.
Implements #32665.
2019-12-09 10:16:29 +01:00
Karsten Loesing
067add639b Remove unused methods. 2019-11-21 12:37:54 +01:00
Karsten Loesing
ca37fd616c Properly parse hostname in v2 network status. 2019-11-20 17:55:00 +01:00
Karsten Loesing
9c7e1b9a54 Properly mark deprecated method with annotation. 2019-11-20 17:40:08 +01:00
Karsten Loesing
f5f6e5971c Fix possible NPE in tests. 2019-11-20 17:34:59 +01:00
Karsten Loesing
d6e9a0d75e Fix NPE when parsing invalid crypto blocks. 2019-11-20 17:19:44 +01:00
Karsten Loesing
a8e0cb7ab7 Remove unused constructor. 2019-11-20 17:01:53 +01:00
Karsten Loesing
3554a91d81 Remove final modifier from static methods. 2019-11-20 16:43:07 +01:00
Karsten Loesing
a1209fa5ea Remove unnecessary cast. 2019-11-20 16:39:33 +01:00
Karsten Loesing
b3b1236641 Remove unused suppression. 2019-11-20 12:10:40 +01:00
Karsten Loesing
26874eb8a9 Make inner class static. 2019-11-20 12:08:57 +01:00
Karsten Loesing
5af3f60993 Simplify method call. 2019-11-20 12:07:49 +01:00
Karsten Loesing
a18c70b33e Simplify switch/case statement. 2019-11-20 12:07:01 +01:00
Karsten Loesing
75e1d31465 Use StandardCharsets.US_ASCII instead of "US-ASCII". 2019-11-20 12:04:29 +01:00
Karsten Loesing
2614e6137c Fix logging. 2019-11-20 12:03:05 +01:00
Karsten Loesing
25ea064dc8 Remove deprecation warning.
Class#newInstance is deprecated in Java 9 and higher, which doesn't
affect us yet in Java 8. But the suggested replacement already works
in Java 8, so that we can safely switch to that.
2019-11-20 11:14:48 +01:00
Karsten Loesing
87d998c542 Bump version to 2.9.1-dev. 2019-11-09 12:30:02 +01:00
Karsten Loesing
6c8470a0b7 Prepare for 2.9.1 release. 2019-11-09 12:25:11 +01:00
Karsten Loesing
fba9137499 Ignore unknown fields in index.json.
This is required for processing index.json files produced by CollecTor
1.13.0 or higher. We don't need those newly added fields or any other
fields added in the future. But we must not fail when fields are
added.
2019-11-09 12:24:28 +01:00
Karsten Loesing
8763af4446 Bump version to 2.9.0-dev. 2019-11-01 09:17:42 +01:00
Karsten Loesing
4bdfc62905 Prepare for 2.9.0 release. 2019-11-01 09:10:25 +01:00
Karsten Loesing
bde697f447 Make NetworkStatusEntryImpl#parseSLine thread-safe.
The bug was that we accessed static class members, namely the two maps
NetworkStatusEntryImpl#flagIndexes and #flagStrings, during instance
creation without synchronization. This worked just fine with a single
thread creating instances, but it breaks with multiple threads doing
that at the same time.

The fix is to keep a separate map per NetworkStatusImpl instance and
share that between all its NetworkStatusEntryImpl instances. This
doesn't save as much memory as sharing maps between all
NetworksStatusEntryImpl instances ever created, but it's a reasonable
compromise between memory and runtime efficiency. In contrast to that,
synchronizing map access would have put a major runtime performance
penalty on parsing.

Fixes #32194.
2019-10-31 14:57:50 +01:00
Karsten Loesing
02e486d16d Bump version to 2.8.0-dev. 2019-10-18 09:43:10 +02:00
Karsten Loesing
ee87da0f04 Prepare for 2.8.0 release. 2019-10-18 09:33:36 +02:00
Karsten Loesing
09d7311df6 Add new BridgedbMetrics descriptor type.
Also extend DescriptorReader#readDescriptors to support .gz-compressed
files which will be necessary to process files rsync'ed from BridgeDB.
And maybe it's useful for other purposes, too.

Implements part of #19332.
2019-10-18 09:27:07 +02:00
Karsten Loesing
8e2f67107f Upgrade to latest metrics-base. 2019-10-02 14:34:41 +02:00
Karsten Loesing
c1581dd8ca Upgrade to latest metrics-base. 2019-09-27 08:58:47 +02:00