From 91f5fa20a79c53dcfd9e16aa399a66569a7bb7ca Mon Sep 17 00:00:00 2001
From: erdgeist <>
Date: Tue, 24 Mar 2009 16:55:28 +0000
Subject: include overall completed count in stats
---
ot_stats.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
(limited to 'ot_stats.c')
diff --git a/ot_stats.c b/ot_stats.c
index a3cce63..e4c607a 100644
--- a/ot_stats.c
+++ b/ot_stats.c
@@ -44,6 +44,7 @@ static unsigned long long ot_overall_tcp_successfulscrapes = 0;
static unsigned long long ot_overall_udp_successfulscrapes = 0;
static unsigned long long ot_overall_tcp_connects = 0;
static unsigned long long ot_overall_udp_connects = 0;
+static unsigned long long ot_overall_completed = 0;
static unsigned long long ot_full_scrape_count = 0;
static unsigned long long ot_full_scrape_request_count = 0;
static unsigned long long ot_full_scrape_size = 0;
@@ -445,6 +446,19 @@ static size_t stats_return_sync_mrtg( char * reply ) {
);
}
+static size_t stats_return_completed_mrtg( char * reply ) {
+ ot_time t = time( NULL ) - ot_start_time;
+
+ return sprintf( reply,
+ "%llu\n%llu\n%i seconds (%i hours)\nopentracker, %lu completed/h.",
+ ot_overall_completed,
+ 0LL,
+ (int)t,
+ (int)(t / 3600),
+ events_per_time( ot_overall_completed, t / 3600 )
+ );
+}
+
static size_t stats_return_everything( char * reply ) {
torrent_stats stats = {0,0,0};
int i;
@@ -462,6 +476,7 @@ static size_t stats_return_everything( char * reply ) {
r += sprintf( r, " \n" );
r += sprintf( r, " \n %llu\n \n", stats.peer_count );
r += sprintf( r, " \n %llu\n \n", stats.seed_count );
+ r += sprintf( r, " \n %llu\n \n" );
r += sprintf( r, " \n %llu\n %llu\n %llu\n \n", ot_overall_tcp_connections, ot_overall_tcp_successfulannounces, ot_overall_udp_successfulscrapes );
r += sprintf( r, " \n %llu\n %llu\n %llu\n %llu\n \n", ot_overall_udp_connections, ot_overall_udp_connects, ot_overall_udp_successfulannounces, ot_overall_udp_successfulscrapes );
@@ -507,6 +522,8 @@ size_t return_stats_for_tracker( char *reply, int mode, int format ) {
return stats_tcpconnections_mrtg( reply );
case TASK_STATS_FULLSCRAPE:
return stats_fullscrapes_mrtg( reply );
+ case TASK_STATS_COMPLETED:
+ return stats_return_completed_mrtg( reply );
case TASK_STATS_HTTPERRORS:
return stats_httperrors_txt( reply );
case TASK_STATS_VERSION:
@@ -559,6 +576,9 @@ void stats_issue_event( ot_status_event event, PROTO_FLAG proto, uintptr_t event
case EVENT_CONNECT:
if( proto == FLAG_TCP ) ot_overall_tcp_connects++; else ot_overall_udp_connects++;
break;
+ case EVENT_COMPLETED:
+ ot_overall_completed++;
+ break;
case EVENT_SCRAPE:
if( proto == FLAG_TCP ) ot_overall_tcp_successfulscrapes++; else ot_overall_udp_successfulscrapes++;
case EVENT_FULLSCRAPE:
--
cgit v1.2.3