[metrics-bugs] #29461 [Metrics/CollecTor]: Add a Snowflake module
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Aug 14 14:55:08 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: irl | Sponsor:
| Sponsor28
-------------------------------------------------+-------------------------
Comment (by cohosh):
Replying to [comment:9 karsten]:
Thanks karsten!
> - 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.)
Oh this is a good point. I can make this change pretty easily now.
> - 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.
This will definitely be the case for quite a while, I think a spec change
(and version bump of the spec) will be a good way to handle this. How
difficult will it be to have data with different spec versions on your
end?
> - 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 didn't think about signing, that would take while to implement I think.
I agree that the best decision here is (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!
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29461#comment:12>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the metrics-bugs
mailing list