... | ... | @@ -31,25 +31,23 @@ Tips: |
|
|
|
|
|
# GOOGLE SUMMER OF CODE'S PROJECTS FOR 2025
|
|
|
|
|
|
1. Rewrite metrics-lib in Rust
|
|
|
|
|
|
Mentor: [Hiro](https://gitlab.torproject.org/hiro), [Sarthik](https://gitlab.torproject.org/sarthikg)
|
|
|
## 1. Rewrite metrics-lib in Rust
|
|
|
|
|
|
Mentors:
|
|
|
- [Hiro](https://gitlab.torproject.org/hiro)
|
|
|
- [Sarthik](https://gitlab.torproject.org/sarthikg)
|
|
|
Hours required: 350 hours
|
|
|
|
|
|
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
|
|
|
|
|
|
## Background
|
|
|
### Background
|
|
|
|
|
|
Tor Metrics Library is a Java library to fetch and parse Tor descriptors.
|
|
|
Tor Metrics Library is a Java library that fetches and parses 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 a Java API for 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.
|
|
|
|
... | ... | @@ -58,13 +56,10 @@ 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.
|
|
|
|
|
|
_Resources:_
|
|
|
https://gitlab.torproject.org/tpo/network-health/metrics/library
|
|
|
|
|
|
https://metrics.torproject.org/metrics-lib.html
|
|
|
|
|
|
https://gitlab.torproject.org/tpo/network-health/metrics/descriptorParser/
|
|
|
|
|
|
https://gitlab.torproject.org/tpo/network-health/team/-/wikis/metrics/development/home
|
|
|
- https://gitlab.torproject.org/tpo/network-health/metrics/library
|
|
|
- https://metrics.torproject.org/metrics-lib.html
|
|
|
- https://gitlab.torproject.org/tpo/network-health/metrics/descriptorParser/
|
|
|
- https://gitlab.torproject.org/tpo/network-health/team/-/wikis/metrics/development/home
|
|
|
|
|
|
2.
|
|
|
|