Opened 6 years ago

Closed 3 years ago

#9301 closed task (worksforme)

add advertised bandwidth

Reported by: hsn Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/Nyx Version:
Severity: Normal Keywords:
Cc: karsten Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


add advertised bandwidth next to limit and burst

Child Tickets

Change History (17)

comment:1 Changed 6 years ago by atagar

Resolution: wontfix
Status: newclosed

I'd rather not clutter the interface. Tor has a thousand configuration options, for the less useful ones users can see their present values by going to the configuration panel (the third page).

comment:2 Changed 6 years ago by hsn

I do not talk about value from configuration. I talk about value pulled from consensus.

comment:3 Changed 6 years ago by atagar

Advertised bandwidth has a specific meaning (see MaxAdvertisedBandwidth in tor's man page). I expect you mean the bandwidth value on 'w' lines provided by the bandwidth authorities in the consensus? If so then that is purely a heuristic. It does not have any actual units, it's just a number used for weighing relay selection. I strongly suspect adding it to the dashboard would confuse users.

comment:4 Changed 6 years ago by hsn

i mean number called Advertised Bandwidth from this page

its relaybandwidth possible lowered according to bandwidth checks. Its not weighted bw.

comment:5 Changed 6 years ago by hsn

If you unset bw limits (BandwidthRate, BandwidthBurst) and you will get in arm:

Bandwidth (limit: 8 Gb/s, burst: 8 Gb/s, measured: 27.5 Kb/s)

in atlas it will have real advertised bw like 2 MB/s. So it would be best to remove measured because its useless and replace it with advertised bw number from atlas.

comment:6 Changed 6 years ago by atagar

Cc: karsten added
Resolution: wontfix
Status: closedreopened

Hmm. I'm actually not sure offhand where that comes form. Onionoo simply describes it as...

"advertised_bandwidth": Bandwidth in bytes per second that this relay is willing and capable to provide. Optional field. Missing if router descriptor containing this information cannot be found.

Server descriptors contain average, burst, and observed bandwidths. Router status entries have the authority weights. I wonder if 'advertised bandwidth' is a renamed version of one of those or something else. Karsten, do you know offhand?

comment:8 Changed 6 years ago by hsn

its not bandwidth max, i checked another relay with 8 Gb/s in configuration and it has in torstatus:

Bandwidth (Max/Burst/Observed - In Bps): 1073741824 / 1073741824 / 815742

nothing matches advertised bw from atlas.

comment:9 Changed 6 years ago by karsten

advertised_bandwidth in Onionoo is the minimum of bandwidth_rate, bandwidth_burst, and observed_bandwidth, which are the three values given in server descriptors.

comment:10 Changed 6 years ago by hsn

thats incorrect formula.

Advertised Bandwidth 368.04 KB/s

data from torstatus: Bandwidth (Max/Burst/Observed - In Bps): 1073741824 / 1073741824 / 7031

advertised bw seems to be directly related to bw weight, not observed bytes.

It would be something like (sum of all observed)/(sum of all bw weight) * relay bw weight.

comment:11 Changed 6 years ago by karsten

I'm not sure what other definition of advertised bandwidth you have in mind. The one I mentioned above is the one that's used on metrics.tpo and onionoo.tpo.

comment:12 Changed 6 years ago by hsn

advertised bw from

It do not match your formula. It changes only if bw weight changes, its not tied to observed bw because in my example relay never had that much traffic. There should be around source code for onionoo with formula.

comment:13 Changed 6 years ago by karsten

I still fail to see what's wrong. Atlas shows advertised bandwidth following the definition I stated above. Maybe you refer to something else? Please also look at the Onionoo data for your relay and tell me what you think is wrong there, e.g.:

comment:14 Changed 6 years ago by hsn

I checked onionoo data directly. You seems to be right with your atlas formula, there is one huge difference between onionoo data and torstatus data:

Bandwidth (Max/Burst/Observed - In Bps): 1073741824 / 1073741824 / 7031


torstatus shows real traffic reported by relay in observed_bandwidth, oo shows value assigned by bw authority based on bw weight assigned. If i look into cached-descriptors then torstatus report value from this file. Value "observed_bandwidth" from oo can not be found in any cached* file. since its new relay it never had that much traffic.

So question is where onionoo observed_bandwidth comes from?

comment:15 Changed 6 years ago by karsten

I don't know which information torstatus displays as advertised bandwidth. Onionoo's bandwidth definitions are as stated above and on the protocol page.

Which relay is this that you're talking about?

comment:16 Changed 6 years ago by hsn

i rechecked data from my older relays against locally cached descriptors and onionoo and you seems to be right, they are not much different. torstatus must be too much behind.

comment:17 Changed 3 years ago by atagar

Resolution: worksforme
Severity: Normal
Status: reopenedclosed

Cleaning up old tickets. Nyx is undergoing a rewrite, if this is still relevant then feel free to reopen.

Note: See TracTickets for help on using tickets.