Skip to content

collector output doesn't handle multiple transports correctly

If I correctly understand the code, the bridgestrap-stats only shows there results of the latest test for each bridge.

This is incorrect if a bridge has multiple transports (or one transport on multiple IPs), and e.g. only one of them is working. I would expect that descriptor to output true only if all known transports for a bridge are reachable.


It would be even better to output information about each transport separately, like in bridge-pool-assignments. Maybe in a format like FINGERPRINT true transport=obfs4 ip=4 date=2025-09-25T03:27:52Z? That probably wouldn't break existing tooling more than it's already broken (assuming extra fields and multiple lines per fingerprint are ignored - then it would just pick essentially a random test result, just as it does now).

My thinking here is that I would then show this data in metrics, since that'd be much nicer than manually poking the status endpoint. I could just use bridge-pool-assignments, but I don't like the extra indirection because of stuff like rdsys#285 (closed).


Might be related to #44?