added more piece picker stats
This commit is contained in:
parent
3d616f894e
commit
5df4e7edd9
|
@ -872,9 +872,16 @@ namespace libtorrent
|
||||||
int m_connreset_peers;
|
int m_connreset_peers;
|
||||||
// the number of times the piece picker fell through
|
// the number of times the piece picker fell through
|
||||||
// to the end-game mode
|
// to the end-game mode
|
||||||
int m_end_game_piece_picks;
|
int m_end_game_piece_picker_blocks;
|
||||||
int m_strict_end_game_piece_picks;
|
int m_strict_end_game_piece_picker_blocks;
|
||||||
int m_piece_picker_blocks;
|
int m_piece_picker_blocks;
|
||||||
|
int m_piece_picks;
|
||||||
|
int m_reject_piece_picks;
|
||||||
|
int m_unchoke_piece_picks;
|
||||||
|
int m_incoming_redundant_piece_picks;
|
||||||
|
int m_incoming_piece_picks;
|
||||||
|
int m_end_game_piece_picks;
|
||||||
|
int m_snubbed_piece_picks;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// each second tick the timer takes a little
|
// each second tick the timer takes a little
|
||||||
|
|
|
@ -56,6 +56,6 @@ gen_report('disk', ['disk write queued bytes', 'disk block buffers'])
|
||||||
gen_report('peers_upload', ['peers up interested', 'peers up unchoked', 'peers up requests'])
|
gen_report('peers_upload', ['peers up interested', 'peers up unchoked', 'peers up requests'])
|
||||||
gen_report('peers_download', ['peers down interesting', 'peers down unchoked', 'peers down requests'])
|
gen_report('peers_download', ['peers down interesting', 'peers down unchoked', 'peers down requests'])
|
||||||
gen_report('peer_errors', ['error peers', 'peer disconnects', 'peers eof', 'peers connection reset'])
|
gen_report('peer_errors', ['error peers', 'peer disconnects', 'peers eof', 'peers connection reset'])
|
||||||
gen_report('end_game', ['end game piece picks', 'strict end game piece picks', 'valid strict end game piece picks'])
|
gen_report('piece_picker', ['end game piece picker blocks', 'strict end game piece picker blocks', 'piece picker blocks', 'piece picks', 'reject piece picks', 'unchoked piece picks', 'incoming redundant piece picks', 'incoming piece picks', 'end game piece picks', 'snubbed piece picks'])
|
||||||
gen_report('bandwidth', ['% failed payload bytes', '% wasted payload bytes', '% protocol bytes'])
|
gen_report('bandwidth', ['% failed payload bytes', '% wasted payload bytes', '% protocol bytes'])
|
||||||
|
|
||||||
|
|
|
@ -1395,6 +1395,9 @@ namespace libtorrent
|
||||||
|
|
||||||
if (m_request_queue.empty() && m_download_queue.size() < 2)
|
if (m_request_queue.empty() && m_download_queue.size() < 2)
|
||||||
{
|
{
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_reject_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
send_block_requests();
|
send_block_requests();
|
||||||
}
|
}
|
||||||
|
@ -1486,6 +1489,9 @@ namespace libtorrent
|
||||||
|
|
||||||
if (is_interesting())
|
if (is_interesting())
|
||||||
{
|
{
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_unchoke_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
send_block_requests();
|
send_block_requests();
|
||||||
}
|
}
|
||||||
|
@ -2378,6 +2384,9 @@ namespace libtorrent
|
||||||
if (!m_download_queue.empty())
|
if (!m_download_queue.empty())
|
||||||
m_requested = now;
|
m_requested = now;
|
||||||
|
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_incoming_redundant_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
send_block_requests();
|
send_block_requests();
|
||||||
return;
|
return;
|
||||||
|
@ -2451,6 +2460,9 @@ namespace libtorrent
|
||||||
, p.piece, _1));
|
, p.piece, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_incoming_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
send_block_requests();
|
send_block_requests();
|
||||||
}
|
}
|
||||||
|
@ -3860,6 +3872,9 @@ namespace libtorrent
|
||||||
// might not be any unrequested blocks anymore, so
|
// might not be any unrequested blocks anymore, so
|
||||||
// we should try to pick another block to see
|
// we should try to pick another block to see
|
||||||
// if we can pick a busy one
|
// if we can pick a busy one
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_end_game_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
if (m_disconnecting) return;
|
if (m_disconnecting) return;
|
||||||
}
|
}
|
||||||
|
@ -4127,6 +4142,9 @@ namespace libtorrent
|
||||||
// picking the same block again, stalling the
|
// picking the same block again, stalling the
|
||||||
// same piece indefinitely.
|
// same piece indefinitely.
|
||||||
m_desired_queue_size = 2;
|
m_desired_queue_size = 2;
|
||||||
|
#ifdef TORRENT_STATS
|
||||||
|
++m_ses.m_snubbed_piece_picks;
|
||||||
|
#endif
|
||||||
request_a_block(*t, *this);
|
request_a_block(*t, *this);
|
||||||
m_desired_queue_size = 1;
|
m_desired_queue_size = 1;
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_STATS
|
#ifdef TORRENT_STATS
|
||||||
++ses.m_end_game_piece_picks;
|
++ses.m_end_game_piece_picker_blocks;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// if the number of pieces we have + the number of pieces
|
// if the number of pieces we have + the number of pieces
|
||||||
|
@ -327,7 +327,7 @@ namespace libtorrent
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef TORRENT_STATS
|
#ifdef TORRENT_STATS
|
||||||
++ses.m_strict_end_game_piece_picks;
|
++ses.m_strict_end_game_piece_picker_blocks;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// if all blocks has the same number of peers on them
|
// if all blocks has the same number of peers on them
|
||||||
|
|
|
@ -805,9 +805,16 @@ namespace aux {
|
||||||
":peer disconnects:peers eof:peers connection reset"
|
":peer disconnects:peers eof:peers connection reset"
|
||||||
":outstanding requests:outstanding end-game requests"
|
":outstanding requests:outstanding end-game requests"
|
||||||
":outstanding writing blocks"
|
":outstanding writing blocks"
|
||||||
":end game piece picks"
|
":end game piece picker blocks"
|
||||||
":strict end game piece picks"
|
":strict end game piece picker blocks"
|
||||||
":piece picker blocks"
|
":piece picker blocks"
|
||||||
|
":piece picks"
|
||||||
|
":reject piece picks"
|
||||||
|
":unchoke piece picks"
|
||||||
|
":incoming redundant piece picks"
|
||||||
|
":incoming piece picks"
|
||||||
|
":end game piece picks"
|
||||||
|
":snubbed piece picks"
|
||||||
":% failed payload bytes"
|
":% failed payload bytes"
|
||||||
":% wasted payload bytes"
|
":% wasted payload bytes"
|
||||||
":% protocol bytes"
|
":% protocol bytes"
|
||||||
|
@ -817,9 +824,16 @@ namespace aux {
|
||||||
m_disconnected_peers = 0;
|
m_disconnected_peers = 0;
|
||||||
m_eof_peers = 0;
|
m_eof_peers = 0;
|
||||||
m_connreset_peers = 0;
|
m_connreset_peers = 0;
|
||||||
m_end_game_piece_picks = 0;
|
m_end_game_piece_picker_blocks = 0;
|
||||||
m_strict_end_game_piece_picks = 0;
|
m_strict_end_game_piece_picker_blocks = 0;
|
||||||
m_piece_picker_blocks = 0;
|
m_piece_picker_blocks = 0;
|
||||||
|
m_piece_picks = 0;
|
||||||
|
m_reject_piece_picks = 0;
|
||||||
|
m_unchoke_piece_picks = 0;
|
||||||
|
m_incoming_redundant_piece_picks = 0;
|
||||||
|
m_incoming_piece_picks = 0;
|
||||||
|
m_end_game_piece_picks = 0;
|
||||||
|
m_snubbed_piece_picks = 0;
|
||||||
#endif
|
#endif
|
||||||
#ifdef TORRENT_DISK_STATS
|
#ifdef TORRENT_DISK_STATS
|
||||||
m_buffer_usage_logger.open("buffer_stats.log", std::ios::trunc);
|
m_buffer_usage_logger.open("buffer_stats.log", std::ios::trunc);
|
||||||
|
@ -2682,9 +2696,16 @@ namespace aux {
|
||||||
<< outstanding_requests << "\t"
|
<< outstanding_requests << "\t"
|
||||||
<< outstanding_end_game_requests << "\t"
|
<< outstanding_end_game_requests << "\t"
|
||||||
<< outstanding_write_blocks << "\t"
|
<< outstanding_write_blocks << "\t"
|
||||||
<< m_end_game_piece_picks << "\t"
|
<< m_end_game_piece_picker_blocks << "\t"
|
||||||
<< m_strict_end_game_piece_picks << "\t"
|
<< m_strict_end_game_piece_picker_blocks << "\t"
|
||||||
<< m_piece_picker_blocks << "\t"
|
<< m_piece_picker_blocks << "\t"
|
||||||
|
<< m_piece_picks << "\t"
|
||||||
|
<< m_reject_piece_picks << "\t"
|
||||||
|
<< m_unchoke_piece_picks << "\t"
|
||||||
|
<< m_incoming_redundant_piece_picks << "\t"
|
||||||
|
<< m_incoming_piece_picks << "\t"
|
||||||
|
<< m_end_game_piece_picks << "\t"
|
||||||
|
<< m_snubbed_piece_picks << "\t"
|
||||||
<< (float(m_total_failed_bytes) * 100.f / m_stat.total_payload_download()) << "\t"
|
<< (float(m_total_failed_bytes) * 100.f / m_stat.total_payload_download()) << "\t"
|
||||||
<< (float(m_total_redundant_bytes) * 100.f / m_stat.total_payload_download()) << "\t"
|
<< (float(m_total_redundant_bytes) * 100.f / m_stat.total_payload_download()) << "\t"
|
||||||
<< (float(m_stat.total_protocol_download()) * 100.f / m_stat.total_download()) << "\t"
|
<< (float(m_stat.total_protocol_download()) * 100.f / m_stat.total_download()) << "\t"
|
||||||
|
@ -2693,9 +2714,16 @@ namespace aux {
|
||||||
m_disconnected_peers = 0;
|
m_disconnected_peers = 0;
|
||||||
m_eof_peers = 0;
|
m_eof_peers = 0;
|
||||||
m_connreset_peers = 0;
|
m_connreset_peers = 0;
|
||||||
m_end_game_piece_picks = 0;
|
m_end_game_piece_picker_blocks = 0;
|
||||||
m_strict_end_game_piece_picks = 0;
|
m_strict_end_game_piece_picker_blocks = 0;
|
||||||
m_piece_picker_blocks = 0;
|
m_piece_picker_blocks = 0;
|
||||||
|
m_piece_picks = 0;
|
||||||
|
m_reject_piece_picks = 0;
|
||||||
|
m_unchoke_piece_picks = 0;
|
||||||
|
m_incoming_redundant_piece_picks = 0;
|
||||||
|
m_incoming_piece_picks = 0;
|
||||||
|
m_end_game_piece_picks = 0;
|
||||||
|
m_snubbed_piece_picks = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// --------------------------------------------------------------
|
// --------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue