-
Notifications
You must be signed in to change notification settings - Fork 175
Description
I am working here on my bachelor thesis under supervision of the Net. Sec. Group from ETH Zürich. The goal of the thesis is to analyse the currently implemented beaconing algorithm in terms of bandwidth usage, i.e. analysing its bandwidth overhead and comparing this to possible new strategies.
My intention with this issue is to propose adding bandwidth metrics to the control-service for beaconing and path operations, and announce that I'm working on this actively to avoid duplication of work.
SCION is already using go-grpc-middleware V1 [1] to monitor certain metrics. go-grpc-prometheus [2] is the specific library enabling metric monitoring for gRPC. This library is missing the needed functionality for bandwidth monitoring, but is a good basis to start with. There was already an issue [3] and a PR [4] for integrating bandwidth monitoring to go-grpc-prometheus. The work was put on hold by their maintainers to move now everything to go-grpc-middleware V2.
The idea is to use a different fork from go-grpc-prometheus and integrate the needed functionality to SCION similar to what was already be done in the PR.
[1] https://github.com/grpc-ecosystem/go-grpc-middleware
[2] https://github.com/grpc-ecosystem/go-grpc-prometheus
[3] grpc-ecosystem/go-grpc-prometheus#85
[4] grpc-ecosystem/go-grpc-prometheus#88