[metrics-bugs] #29461 [Metrics/CollecTor]: Add a Snowflake module
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Aug 14 09:23:17 UTC 2019
#29461: Add a Snowflake module
-------------------------------------------------+-------------------------
Reporter: irl | Owner:
| metrics-team
Type: enhancement | Status:
| needs_review
Priority: Medium | Milestone:
Component: Metrics/CollecTor | Version:
Severity: Normal | Resolution:
Keywords: metrics-roadmap-august, anti- | Actual Points:
censorship-roadmap-september |
Parent ID: | Points: 8
Reviewer: | Sponsor:
| Sponsor28
-------------------------------------------------+-------------------------
Changes (by karsten):
* status: new => needs_review
Comment:
Couple ideas after implementing the CollecTor and metrics-web parts:
- As indicated before, I'm using `snowflake-stats-end` as descriptor type
identifier, which means that future data format versions will have to keep
that line as their first line. A better choice would have been to use
something like `snowflake-stats $version` or similar. (If it's any relief,
we're forced to use `[0-9]{10}` as descriptor type identifier for
bandwidth files, so there would have been plenty of room to do worse.)
- The current format only supports a single snowflake broker. Maybe this
is acceptable for the snowflake design. But just in case that you'll one
day want to add a second broker, you'll have to include some sort of
broker identifier in the format.
- The current format is not signed, which is somewhat related to not
having a broker identifier in the format.
- As a consequence of the above, CollecTor needs to make a decision
whether it wants to archive a newly downloaded snowflake-stats snippet, if
it already has another snippet with the same timestamp and different
contents. Possible strategies for this specific case are to a) never
overwrite, b) always overwrite, c) keep all versions by including a digest
in the file name, d) maybe something else. I implemented a) for now.
I think we can start with what we have, without changing anything of the
above. Of course, if you want to change something with regard to future
maintenance effort, now's the time!
irl, please review [https://gitweb.torproject.org/user/karsten/metrics-
lib.git/commit/?h=task-29461&id=c8f832160a1eaf5c1c57b2cb81fc849bd20cd69e
metrics-lib commit c8f8321],
[https://gitweb.torproject.org/user/karsten/collector.git/commit/?h=task-29461&id=cd5a27d3495f2cd8fd7c693e20a406f571d36a2f
CollecTor commit cd5a27d], and [https://gitweb.torproject.org/user/karsten
/metrics-
web.git/commit/?h=task-29461&id=5958454a3d3bb6274367bd696b8cac52cde4f05a
metrics-web commit 5958454]. If there are more changes, I'll try to add
those as fixup/squash commits.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29461#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the metrics-bugs
mailing list