Opened 4 years ago

Last modified 3 years ago

#21389 new enhancement

Support searches for effective family (strict and non strict maching)

Reported by: cypherpunks Owned by: metrics-team
Priority: Medium Milestone:
Component: Metrics/Onionoo Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


I maintain a list of top exit/guard/middle/cw effective families [1].
Every entry is uniquely defined by the sorted list of effective family members (effective_family).

I'd like to make every entry clickable (link to atlas), which would list all relays that make up that entry.
To be able to use atlas for this, onionoo needs to support it first unless atlas emulates this by making multiple fingerprint= onionoo backend requests.

onionoo currently offers the 'family' [2] parameter which will give you all effective family members for a given relay fingerprint (which is not what I'm looking for).

[1] example for top eff. families by CW:



Return only the relay whose fingerprint matches the parameter value and all relays that this relay has listed in its family by fingerprint and that in turn have listed this relay in their family by fingerprint. If relays have listed other relays in their family by nickname, those family relationships will not be considered, regardless of whether they have the Named flag or not. The provided relay fingerprint must consist of 40 hex characters where case does not matter, and it must not be hashed using SHA-1. Bridges are not contained in the result, regardless of whether they define a family.

Child Tickets

Change History (5)

comment:1 Changed 4 years ago by karsten

Can you please specify this feature request as patch to Onionoo's protocol.html?

(I don't know exactly what you're asking for. And I'm afraid we ran out of Onionoo development time for this quarter and need to focus on the various other metrics code bases now. But having a precise description of this feature makes it more likely that we'll pick it up in the future.)

comment:2 Changed 4 years ago by cypherpunks

The description could read like this: (Is it clear enough?)

Return only relays with the parameter value matching the list of fingerprints in the effective_family field.
Fingerprints must consist of 40 hex characters, case does not matter.

If the provided fingerprints must be sorted and $prefixed is up to the implementer of this lookup. Description should be updated accordingly.

comment:3 Changed 4 years ago by karsten

Can you elaborate why the family parameter is insufficient for this use case?

comment:4 Changed 4 years ago by nusenu

Ok, I'll try to elaborate on the use case. I create list of families here:
I identify a family by the sorted (effective_family onionoo field + the relay's own fp) and would like to make every entry in this list clickable. Once clicked it would give you all the relays that make up this entry.

The onionoo 'family' parameter does not allow me to say "give me all relays which have this set of fingerprints in their effective_family", it only allows me to say "give me this relay's effective family members" - which is not the same as "give me all relays which have this set of fingerprints in their effective_family".

comment:5 Changed 3 years ago by karsten

Summary: allow to search for effective family (strict and non strict maching)Support searches for effective family (strict and non strict maching)

Tweak summary.

Note: See TracTickets for help on using tickets.