[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tor-talk] Why is there a huge gap between Total BW retrieved by Stem, Total shown on Tor Metrics and in http://torstatus.blutmagie.de/?



Thank you Dr. Karsten for your answer.
Following your instruction, I am now understanding meaning of three terms:
"advertised bandwidth", "bandwidth history", and "consensus weight" on
Metrics. So please let me link those term with terms in Stem, and please
correct me if I am wrong cos I am using Stem Library so I really need to
know which term in Metrics is associated with which term in Stem:
Syntax: <term in Metrics = term in Stem>

1. advertised bandwidth = observed_bandwidth

> (observed_bandwidth function is in:
> https://stem.torproject.org/api/descriptor/server_descriptor.html)

to check it: I look at atlas of the IP: 94.198.68.13, and found advertised
> bandwidth = 70.72 KB/s, and also using desc.observed_bandwidth in stem to
> fetch the same IP, and got 70720 (B/s) by using these code lines:

from stem.descriptor.remote import DescriptorDownloader
> downloader = DescriptorDownloader()
> try:

  for desc in downloader.get_server_descriptors().run():

 print '%s %i' %(IP, desc.observed_bandwidth)


2. bandwidth history = Not Available (?)

> I cannot find what function should be used in Stem to retrieve the
> bandwidth history value.


3. consensus weight = bandwidth or = measured

This one maybe the weirdest one, but please correct me if I misunderstand
> the terms. As I look at the consensus file @
> http://86.59.21.38/tor/status-vote/current/consensus
> and look at the specification for "w" line @
> https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n1768
> I found they wrote that "w line is An estimate of the bandwidth of this
> relay, in an arbitrary unit (currently kilobytes per second)", in stead
> of unit-less as you answered and written in Stem @
> https://stem.torproject.org/api/descriptor/router_status_entry.html


Next what I tried to figure out the question myself by writing these code
lines:

from stem.descriptor.remote import DescriptorDownloader
> downloader = DescriptorDownloader()

try:

  for desc in downloader.get_consensus().run():

 print '%s %i' %(IP, desc.measured)


and get

95.215.44.189 None
> 73.15.150.172 None
> 162.247.72.201 None ...and so on


While if I use this code lines:

from stem.descriptor.remote import DescriptorDownloader
> downloader = DescriptorDownloader()

try:

  for desc in downloader.get_consensus().run():

 print '%s %i' %(IP, desc.bandwidth)


I would get this result:

 95.215.44.189 323
> 73.15.150.172 14
> 162.247.72.201 6240


which is exactly the same with values in consensus file @
http://86.59.21.38/tor/status-vote/current/consensus
Therefore, I am confused about consensus weight (in metrics VS in directory
specification) VS bandwidth and measured (in Stem). Which of them is
unit-less, and which of them is in B/s or KB/s. And, which value one should
use to calculate probability of a relay in path selection in proportion to
its bandwidth.

I am so sorry if the way I raise and organize the question make you
confused or hard to understand. Especially to Dr. Karsten, I am so sorry to
ask you about Stem in related to Metrics cos I am aware that Stem in not
under your management.
Yours Sincerely!
-- 
tor-talk mailing list - tor-talk@lists.torproject.org
To unsubscribe or change other settings go to
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk