mirror of
git://erdgeist.org/opentracker
synced 2025-02-05 11:36:24 +00:00
add mrtgstyle stats for number of torrents
This commit is contained in:
parent
bee364a6f3
commit
19cc9ba882
@ -236,7 +236,9 @@ static ssize_t http_handle_stats( const int64 client_socket, char *data, char *d
|
|||||||
else if( !byte_diff(data,4,"top5"))
|
else if( !byte_diff(data,4,"top5"))
|
||||||
mode = TASK_STATS_TOP5;
|
mode = TASK_STATS_TOP5;
|
||||||
else if( !byte_diff(data,4,"scrp"))
|
else if( !byte_diff(data,4,"scrp"))
|
||||||
mode = TASK_STATS_SCRAPE;
|
mode = TASK_STATS_SCRAPE;
|
||||||
|
else if( !byte_diff(data,4,"torr"))
|
||||||
|
mode = TASK_STATS_TORRENTS;
|
||||||
else if( !byte_diff(data,4,"fscr"))
|
else if( !byte_diff(data,4,"fscr"))
|
||||||
mode = TASK_STATS_FULLSCRAPE;
|
mode = TASK_STATS_FULLSCRAPE;
|
||||||
else if( !byte_diff(data,4,"tcp4"))
|
else if( !byte_diff(data,4,"tcp4"))
|
||||||
|
@ -23,6 +23,7 @@ typedef enum {
|
|||||||
TASK_STATS_FULLSCRAPE = 0x0006,
|
TASK_STATS_FULLSCRAPE = 0x0006,
|
||||||
TASK_STATS_TPB = 0x0007,
|
TASK_STATS_TPB = 0x0007,
|
||||||
TASK_STATS_HTTPERRORS = 0x0008,
|
TASK_STATS_HTTPERRORS = 0x0008,
|
||||||
|
TASK_STATS_TORRENTS = 0x0009,
|
||||||
|
|
||||||
TASK_STATS_SLASH24S = 0x0100,
|
TASK_STATS_SLASH24S = 0x0100,
|
||||||
|
|
||||||
|
21
ot_stats.c
21
ot_stats.c
@ -264,6 +264,25 @@ static size_t stats_peers_mrtg( char * reply ) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static size_t stats_torrents_mrtg( char * reply )
|
||||||
|
{
|
||||||
|
size_t torrent_count = 0;
|
||||||
|
int bucket;
|
||||||
|
|
||||||
|
for( bucket=0; bucket<OT_BUCKET_COUNT; ++bucket )
|
||||||
|
{
|
||||||
|
ot_vector *torrents_list = mutex_bucket_lock( bucket );
|
||||||
|
torrent_count += torrents_list->size;
|
||||||
|
mutex_bucket_unlock( bucket );
|
||||||
|
}
|
||||||
|
|
||||||
|
return sprintf( reply, "%zd\n%zd\nopentracker serving %zd torrents\nopentracker",
|
||||||
|
torrent_count,
|
||||||
|
(size_t)0,
|
||||||
|
torrent_count
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
static size_t stats_httperrors_txt ( char * reply ) {
|
static size_t stats_httperrors_txt ( char * reply ) {
|
||||||
return sprintf( reply, "302 RED %llu\n400 ... %llu\n400 PAR %llu\n400 COM %llu\n403 IP %llu\n404 INV %llu\n500 SRV %llu\n",
|
return sprintf( reply, "302 RED %llu\n400 ... %llu\n400 PAR %llu\n400 COM %llu\n403 IP %llu\n404 INV %llu\n500 SRV %llu\n",
|
||||||
ot_failed_request_counts[0], ot_failed_request_counts[1], ot_failed_request_counts[2],
|
ot_failed_request_counts[0], ot_failed_request_counts[1], ot_failed_request_counts[2],
|
||||||
@ -284,6 +303,8 @@ size_t return_stats_for_tracker( char *reply, int mode, int format ) {
|
|||||||
return stats_tcpconnections_mrtg( reply );
|
return stats_tcpconnections_mrtg( reply );
|
||||||
case TASK_STATS_PEERS:
|
case TASK_STATS_PEERS:
|
||||||
return stats_peers_mrtg( reply );
|
return stats_peers_mrtg( reply );
|
||||||
|
case TASK_STATS_TORRENTS:
|
||||||
|
return stats_torrents_mrtg( reply );
|
||||||
case TASK_STATS_SLASH24S:
|
case TASK_STATS_SLASH24S:
|
||||||
return stats_slash24s_txt( reply, 25, 16 );
|
return stats_slash24s_txt( reply, 25, 16 );
|
||||||
case TASK_STATS_TOP5:
|
case TASK_STATS_TOP5:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user