move tracker transfer counters over to use performance_counters internally as well
This commit is contained in:
parent
bb3e399ce2
commit
7249122329
|
@ -160,26 +160,6 @@ namespace libtorrent
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void received_tracker_bytes(int bytes)
|
|
||||||
{
|
|
||||||
TORRENT_ASSERT(bytes >= 0);
|
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
|
||||||
m_stat[download_tracker_protocol].add(bytes);
|
|
||||||
#else
|
|
||||||
m_stat[download_protocol].add(bytes);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void sent_tracker_bytes(int bytes)
|
|
||||||
{
|
|
||||||
TORRENT_ASSERT(bytes >= 0);
|
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
|
||||||
m_stat[upload_tracker_protocol].add(bytes);
|
|
||||||
#else
|
|
||||||
m_stat[upload_protocol].add(bytes);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void received_bytes(int bytes_payload, int bytes_protocol)
|
void received_bytes(int bytes_payload, int bytes_protocol)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(bytes_payload >= 0);
|
TORRENT_ASSERT(bytes_payload >= 0);
|
||||||
|
@ -224,15 +204,11 @@ namespace libtorrent
|
||||||
int download_ip_overhead() const { return m_stat[download_ip_protocol].counter(); }
|
int download_ip_overhead() const { return m_stat[download_ip_protocol].counter(); }
|
||||||
int upload_dht() const { return m_stat[upload_dht_protocol].counter(); }
|
int upload_dht() const { return m_stat[upload_dht_protocol].counter(); }
|
||||||
int download_dht() const { return m_stat[download_dht_protocol].counter(); }
|
int download_dht() const { return m_stat[download_dht_protocol].counter(); }
|
||||||
int download_tracker() const { return m_stat[download_tracker_protocol].counter(); }
|
|
||||||
int upload_tracker() const { return m_stat[upload_tracker_protocol].counter(); }
|
|
||||||
#else
|
#else
|
||||||
int upload_ip_overhead() const { return 0; }
|
int upload_ip_overhead() const { return 0; }
|
||||||
int download_ip_overhead() const { return 0; }
|
int download_ip_overhead() const { return 0; }
|
||||||
int upload_dht() const { return 0; }
|
int upload_dht() const { return 0; }
|
||||||
int download_dht() const { return 0; }
|
int download_dht() const { return 0; }
|
||||||
int download_tracker() const { return 0; }
|
|
||||||
int upload_tracker() const { return 0; }
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// should be called once every second
|
// should be called once every second
|
||||||
|
@ -249,7 +225,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[upload_ip_protocol].low_pass_rate()
|
+ m_stat[upload_ip_protocol].low_pass_rate()
|
||||||
+ m_stat[upload_dht_protocol].low_pass_rate()
|
+ m_stat[upload_dht_protocol].low_pass_rate()
|
||||||
+ m_stat[upload_tracker_protocol].low_pass_rate()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -261,7 +236,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[download_ip_protocol].low_pass_rate()
|
+ m_stat[download_ip_protocol].low_pass_rate()
|
||||||
+ m_stat[download_dht_protocol].low_pass_rate()
|
+ m_stat[download_dht_protocol].low_pass_rate()
|
||||||
+ m_stat[download_tracker_protocol].low_pass_rate()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -273,7 +247,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[upload_ip_protocol].rate()
|
+ m_stat[upload_ip_protocol].rate()
|
||||||
+ m_stat[upload_dht_protocol].rate()
|
+ m_stat[upload_dht_protocol].rate()
|
||||||
+ m_stat[upload_tracker_protocol].rate()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -285,7 +258,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[download_ip_protocol].rate()
|
+ m_stat[download_ip_protocol].rate()
|
||||||
+ m_stat[download_dht_protocol].rate()
|
+ m_stat[download_dht_protocol].rate()
|
||||||
+ m_stat[download_tracker_protocol].rate()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -297,7 +269,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[upload_ip_protocol].total()
|
+ m_stat[upload_ip_protocol].total()
|
||||||
+ m_stat[upload_dht_protocol].total()
|
+ m_stat[upload_dht_protocol].total()
|
||||||
+ m_stat[upload_tracker_protocol].total()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -309,7 +280,6 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
+ m_stat[download_ip_protocol].total()
|
+ m_stat[download_ip_protocol].total()
|
||||||
+ m_stat[download_dht_protocol].total()
|
+ m_stat[download_dht_protocol].total()
|
||||||
+ m_stat[download_tracker_protocol].total()
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -362,10 +332,8 @@ namespace libtorrent
|
||||||
#ifndef TORRENT_DISABLE_FULL_STATS
|
#ifndef TORRENT_DISABLE_FULL_STATS
|
||||||
upload_ip_protocol,
|
upload_ip_protocol,
|
||||||
upload_dht_protocol,
|
upload_dht_protocol,
|
||||||
upload_tracker_protocol,
|
|
||||||
download_ip_protocol,
|
download_ip_protocol,
|
||||||
download_dht_protocol,
|
download_dht_protocol,
|
||||||
download_tracker_protocol,
|
|
||||||
#endif
|
#endif
|
||||||
num_channels
|
num_channels
|
||||||
};
|
};
|
||||||
|
|
|
@ -78,6 +78,7 @@ namespace libtorrent
|
||||||
class http_tracker_connection;
|
class http_tracker_connection;
|
||||||
class udp_socket;
|
class udp_socket;
|
||||||
struct resolver_interface;
|
struct resolver_interface;
|
||||||
|
struct counters;
|
||||||
namespace aux { struct session_impl; struct session_settings; }
|
namespace aux { struct session_impl; struct session_settings; }
|
||||||
|
|
||||||
// returns -1 if gzip header is invalid or the header size in bytes
|
// returns -1 if gzip header is invalid or the header size in bytes
|
||||||
|
@ -376,6 +377,7 @@ namespace libtorrent
|
||||||
class udp_socket& m_udp_socket;
|
class udp_socket& m_udp_socket;
|
||||||
resolver_interface& m_host_resolver;
|
resolver_interface& m_host_resolver;
|
||||||
aux::session_settings const& m_settings;
|
aux::session_settings const& m_settings;
|
||||||
|
counters& m_stats_counters;
|
||||||
bool m_abort;
|
bool m_abort;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3018,17 +3018,13 @@ retry:
|
||||||
{
|
{
|
||||||
peer_class* gpc = m_classes.at(m_global_class);
|
peer_class* gpc = m_classes.at(m_global_class);
|
||||||
|
|
||||||
gpc->channel[peer_connection::download_channel].use_quota(
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
m_stat.download_dht() +
|
gpc->channel[peer_connection::download_channel].use_quota(m_stat.download_dht());
|
||||||
#endif
|
#endif
|
||||||
m_stat.download_tracker());
|
|
||||||
|
|
||||||
gpc->channel[peer_connection::upload_channel].use_quota(
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
m_stat.upload_dht() +
|
gpc->channel[peer_connection::upload_channel].use_quota(m_stat.upload_dht());
|
||||||
#endif
|
#endif
|
||||||
m_stat.upload_tracker());
|
|
||||||
|
|
||||||
int up_limit = upload_rate_limit(m_global_class);
|
int up_limit = upload_rate_limit(m_global_class);
|
||||||
int down_limit = download_rate_limit(m_global_class);
|
int down_limit = download_rate_limit(m_global_class);
|
||||||
|
@ -4499,8 +4495,6 @@ retry:
|
||||||
, m_stat.total_transfer(stat::upload_payload));
|
, m_stat.total_transfer(stat::upload_payload));
|
||||||
m_stats_counters.set_value(counters::sent_ip_overhead_bytes
|
m_stats_counters.set_value(counters::sent_ip_overhead_bytes
|
||||||
, m_stat.total_transfer(stat::upload_ip_protocol));
|
, m_stat.total_transfer(stat::upload_ip_protocol));
|
||||||
m_stats_counters.set_value(counters::sent_tracker_bytes
|
|
||||||
, m_stat.total_transfer(stat::upload_tracker_protocol));
|
|
||||||
|
|
||||||
m_stats_counters.set_value(counters::recv_bytes
|
m_stats_counters.set_value(counters::recv_bytes
|
||||||
, m_stat.total_download());
|
, m_stat.total_download());
|
||||||
|
@ -4508,8 +4502,6 @@ retry:
|
||||||
, m_stat.total_transfer(stat::download_payload));
|
, m_stat.total_transfer(stat::download_payload));
|
||||||
m_stats_counters.set_value(counters::recv_ip_overhead_bytes
|
m_stats_counters.set_value(counters::recv_ip_overhead_bytes
|
||||||
, m_stat.total_transfer(stat::download_ip_protocol));
|
, m_stat.total_transfer(stat::download_ip_protocol));
|
||||||
m_stats_counters.set_value(counters::recv_tracker_bytes
|
|
||||||
, m_stat.total_transfer(stat::download_tracker_protocol));
|
|
||||||
|
|
||||||
m_stats_counters.set_value(counters::limiter_up_queue
|
m_stats_counters.set_value(counters::limiter_up_queue
|
||||||
, m_upload_rate.queue_size());
|
, m_upload_rate.queue_size());
|
||||||
|
@ -5353,6 +5345,8 @@ retry:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: 3 deprecate this function. All of this functionality should be
|
||||||
|
// exposed as performance counters
|
||||||
session_status session_impl::status() const
|
session_status session_impl::status() const
|
||||||
{
|
{
|
||||||
// INVARIANT_CHECK;
|
// INVARIANT_CHECK;
|
||||||
|
@ -5418,11 +5412,6 @@ retry:
|
||||||
s.total_dht_upload = 0;
|
s.total_dht_upload = 0;
|
||||||
#endif // TORRENT_DISABLE_DHT
|
#endif // TORRENT_DISABLE_DHT
|
||||||
|
|
||||||
// tracker
|
|
||||||
s.tracker_download_rate = m_stat.transfer_rate(stat::download_tracker_protocol);
|
|
||||||
s.total_tracker_download = m_stat.total_transfer(stat::download_tracker_protocol);
|
|
||||||
s.tracker_upload_rate = m_stat.transfer_rate(stat::upload_tracker_protocol);
|
|
||||||
s.total_tracker_upload = m_stat.total_transfer(stat::upload_tracker_protocol);
|
|
||||||
#else
|
#else
|
||||||
// IP-overhead
|
// IP-overhead
|
||||||
s.ip_overhead_download_rate = 0;
|
s.ip_overhead_download_rate = 0;
|
||||||
|
@ -5435,13 +5424,15 @@ retry:
|
||||||
s.total_dht_download = 0;
|
s.total_dht_download = 0;
|
||||||
s.dht_upload_rate = 0;
|
s.dht_upload_rate = 0;
|
||||||
s.total_dht_upload = 0;
|
s.total_dht_upload = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
// tracker
|
// tracker
|
||||||
|
s.total_tracker_download = m_stats_counters[counters::recv_tracker_bytes];
|
||||||
|
s.total_tracker_upload = m_stats_counters[counters::sent_tracker_bytes];
|
||||||
|
|
||||||
|
// deprecated
|
||||||
s.tracker_download_rate = 0;
|
s.tracker_download_rate = 0;
|
||||||
s.total_tracker_download = 0;
|
|
||||||
s.tracker_upload_rate = 0;
|
s.tracker_upload_rate = 0;
|
||||||
s.total_tracker_upload = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
if (m_dht)
|
if (m_dht)
|
||||||
|
|
|
@ -200,6 +200,7 @@ namespace libtorrent
|
||||||
, m_udp_socket(ses.m_udp_socket)
|
, m_udp_socket(ses.m_udp_socket)
|
||||||
, m_host_resolver(ses.m_host_resolver)
|
, m_host_resolver(ses.m_host_resolver)
|
||||||
, m_settings(ses.settings())
|
, m_settings(ses.settings())
|
||||||
|
, m_stats_counters(ses.m_stats_counters)
|
||||||
, m_abort(false)
|
, m_abort(false)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -212,13 +213,13 @@ namespace libtorrent
|
||||||
void tracker_manager::sent_bytes(int bytes)
|
void tracker_manager::sent_bytes(int bytes)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(m_ses.is_single_thread());
|
TORRENT_ASSERT(m_ses.is_single_thread());
|
||||||
m_ses.m_stat.sent_tracker_bytes(bytes);
|
m_stats_counters.inc_stats_counter(counters::sent_tracker_bytes, bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tracker_manager::received_bytes(int bytes)
|
void tracker_manager::received_bytes(int bytes)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(m_ses.is_single_thread());
|
TORRENT_ASSERT(m_ses.is_single_thread());
|
||||||
m_ses.m_stat.received_tracker_bytes(bytes);
|
m_stats_counters.inc_stats_counter(counters::recv_tracker_bytes, bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tracker_manager::remove_request(tracker_connection const* c)
|
void tracker_manager::remove_request(tracker_connection const* c)
|
||||||
|
|
Loading…
Reference in New Issue