(trunk libT) #1715: More stats information in rpc session-stats command

This commit is contained in:
Charles Kerr
2009-01-19 21:17:29 +00:00
parent daaa450f8e
commit cfe1358626
2 changed files with 40 additions and 0 deletions

View File

@@ -22,6 +22,7 @@
#include "rpcimpl.h"
#include "json.h"
#include "session.h"
#include "stats.h"
#include "torrent.h"
#include "utils.h"
#include "web.h"
@@ -822,6 +823,9 @@ sessionStats( tr_session * session,
{
int running = 0;
int total = 0;
tr_benc * d;
tr_session_stats currentStats = { 0.0f, 0, 0, 0, 0, 0 };
tr_session_stats cumulativeStats = { 0.0f, 0, 0, 0, 0, 0 };
tr_torrent * tor = NULL;
assert( idle_data == NULL );
@@ -832,11 +836,29 @@ sessionStats( tr_session * session,
++running;
}
tr_sessionGetStats( session, &currentStats );
tr_sessionGetCumulativeStats( session, &cumulativeStats );
tr_bencDictAddInt( args_out, "activeTorrentCount", running );
tr_bencDictAddInt( args_out, "downloadSpeed", (int)( tr_sessionGetPieceSpeed( session, TR_DOWN ) * 1024 ) );
tr_bencDictAddInt( args_out, "pausedTorrentCount", total - running );
tr_bencDictAddInt( args_out, "torrentCount", total );
tr_bencDictAddInt( args_out, "uploadSpeed", (int)( tr_sessionGetPieceSpeed( session, TR_UP ) * 1024 ) );
d = tr_bencDictAddDict( args_out, "cumulative-stats", 5 );
tr_bencDictAddInt( d, "downloadedBytes", cumulativeStats.downloadedBytes );
tr_bencDictAddInt( d, "filesAdded", cumulativeStats.filesAdded );
tr_bencDictAddInt( d, "secondsActive", cumulativeStats.secondsActive );
tr_bencDictAddInt( d, "sessionCount", cumulativeStats.sessionCount );
tr_bencDictAddInt( d, "uploadedBytes", cumulativeStats.uploadedBytes );
d = tr_bencDictAddDict( args_out, "current-stats", 5 );
tr_bencDictAddInt( d, "downloadedBytes", currentStats.downloadedBytes );
tr_bencDictAddInt( d, "filesAdded", currentStats.filesAdded );
tr_bencDictAddInt( d, "secondsActive", currentStats.secondsActive );
tr_bencDictAddInt( d, "sessionCount", currentStats.sessionCount );
tr_bencDictAddInt( d, "uploadedBytes", currentStats.uploadedBytes );
return NULL;
}