Update GSoC authored by Hiro's avatar Hiro
...@@ -34,18 +34,22 @@ Tips: ...@@ -34,18 +34,22 @@ Tips:
1. Rewrite metrics-lib in Rust 1. Rewrite metrics-lib in Rust
Mentor: [Hiro](https://gitlab.torproject.org/hiro), [Sarthik](https://gitlab.torproject.org/sarthikg) Mentor: [Hiro](https://gitlab.torproject.org/hiro), [Sarthik](https://gitlab.torproject.org/sarthikg)
Hours required: 350 hours Hours required: 350 hours
Skills required: Rust + some Java Skills required: Rust + some Java
Expected outcome: A library to process Tor network documents in Rust is available Expected outcome: A library to process Tor network documents in Rust is available
Difficulty: medium Difficulty: medium
Background ## Background
Tor Metrics Library is a Java library to fetch and parse Tor descriptors. Tor Metrics Library is a Java library to fetch and parse Tor descriptors.
Metrics lib provides an API in JAVA allowing processing Tor network data from the [CollecTor](https://collector.torproject.org) service for statistical analysis and for building services and applications. Metrics lib provides an API in JAVA allowing processing Tor network data from the [CollecTor](https://collector.torproject.org) service for statistical analysis and for building services and applications.
Proposal ## Proposal
The metrics pipeline is being restructured and is slowly moving away from a mostly JAVA codebase to a rust and python tool belt. The metrics pipeline is being restructured and is slowly moving away from a mostly JAVA codebase to a rust and python tool belt.
...@@ -53,7 +57,7 @@ This project would involve a complete re-implementation of the Tor metrics libra ...@@ -53,7 +57,7 @@ This project would involve a complete re-implementation of the Tor metrics libra
[Metrics-lib](https://metrics.torproject.org/metrics-lib.html) is a JAVA based API that is used to parse and validate Tor network documents. The rust rewrite should provide the same parsing and validation functionalities provided by metrics-lib and in addition allow exporting of the documents in some external storage, like parquet files to be saved into object storage or a table on a postgresql database. [Metrics-lib](https://metrics.torproject.org/metrics-lib.html) is a JAVA based API that is used to parse and validate Tor network documents. The rust rewrite should provide the same parsing and validation functionalities provided by metrics-lib and in addition allow exporting of the documents in some external storage, like parquet files to be saved into object storage or a table on a postgresql database.
Resources: _Resources:_
https://gitlab.torproject.org/tpo/network-health/metrics/library https://gitlab.torproject.org/tpo/network-health/metrics/library
https://metrics.torproject.org/metrics-lib.html https://metrics.torproject.org/metrics-lib.html
https://gitlab.torproject.org/tpo/network-health/metrics/descriptorParser/ https://gitlab.torproject.org/tpo/network-health/metrics/descriptorParser/
... ...
......