📄 statisticsdlg.cpp
字号:
else if (percentSessions == 0 && statBadSessions > 0) percentSessions = 100; // There were bad sessions and no good ones, must be 100%
else percentSessions = 0; // No sessions at all, or no bad ones.
cbuffer.Format( _T("%s: %u (%1.1f%%)") , GetResString(IDS_STATS_FDLSES) , statBadSessions , percentSessions);
stattree.SetItemText( down_tsessions[1] , cbuffer );
// Set Cumulative Average Download Time
uint32 avgDownTime = thePrefs.GetDownS_AvgTime();
if (thePrefs.GetDownC_AvgTime()<=0) thePrefs.SetDownCAvgTime(avgDownTime);
avgDownTime = (uint32) (avgDownTime+thePrefs.GetDownC_AvgTime())/2;
cbuffer.Format(_T("%s: %s"), GetResString(IDS_STATS_AVGDLTIME), CastSecondsToLngHM(avgDownTime));
stattree.SetItemText(down_tsessions[3], cbuffer);
}
// Set Cumulative Gained Due To Compression
uint64 ullCumCompressed = thePrefs.GetSesSavedFromCompression() + thePrefs.GetCumSavedFromCompression();
cbuffer.Format(GetResString(IDS_STATS_GAINCOMP) + _T(" (%.1f%%)"), CastItoXBytes(ullCumCompressed), ullCumReceived!=0 ? (ullCumCompressed * 100.0 / ullCumReceived) : 0.0);
stattree.SetItemText( down_T[3] , cbuffer );
// Set Cumulative Lost Due To Corruption
uint64 ullCumCorrupted = thePrefs.GetSesLostFromCorruption() + thePrefs.GetCumLostFromCorruption();
cbuffer.Format(GetResString(IDS_STATS_LOSTCORRUPT) + _T(" (%.1f%%)"), CastItoXBytes(ullCumCorrupted), ullCumReceived!=0 ? (ullCumCorrupted * 100.0 / ullCumReceived) : 0.0);
stattree.SetItemText( down_T[4] , cbuffer );
// Set Cumulative Saved Due To ICH
cbuffer.Format(GetResString(IDS_STATS_ICHSAVED), thePrefs.GetSesPartsSavedByICH() + thePrefs.GetCumPartsSavedByICH());
stattree.SetItemText( down_T[5] , cbuffer );
if (DownOHTotal == 0 || DownOHTotalPackets == 0) {
DownOHTotal = theStats.GetDownDataOverheadFileRequest() +
theStats.GetDownDataOverheadSourceExchange() +
theStats.GetDownDataOverheadServer() +
theStats.GetDownDataOverheadKad() +
theStats.GetDownDataOverheadOther();
DownOHTotalPackets =
theStats.GetDownDataOverheadFileRequestPackets() +
theStats.GetDownDataOverheadSourceExchangePackets() +
theStats.GetDownDataOverheadServerPackets() +
theStats.GetDownDataOverheadKadPackets() +
theStats.GetDownDataOverheadOtherPackets();
}
// Total Overhead
cbuffer.Format(GetResString(IDS_TOVERHEAD),CastItoXBytes(DownOHTotal + thePrefs.GetDownOverheadTotal()), CastItoIShort(DownOHTotalPackets + thePrefs.GetDownOverheadTotalPackets()));
stattree.SetItemText(hdown_toh, cbuffer);
if (forceUpdate || stattree.IsExpanded(hdown_toh)) {
int i = 0;
// File Request Overhead
cbuffer.Format(GetResString(IDS_FROVERHEAD), CastItoXBytes( theStats.GetDownDataOverheadFileRequest() + thePrefs.GetDownOverheadFileReq()), CastItoIShort(theStats.GetDownDataOverheadFileRequestPackets() + thePrefs.GetDownOverheadFileReqPackets()));
stattree.SetItemText(down_toh[i], cbuffer); i++;
// Source Exchange Overhead
cbuffer.Format(GetResString(IDS_SSOVERHEAD), CastItoXBytes( theStats.GetDownDataOverheadSourceExchange()+thePrefs.GetDownOverheadSrcEx()), CastItoIShort(theStats.GetDownDataOverheadSourceExchangePackets()+thePrefs.GetDownOverheadSrcExPackets()));
stattree.SetItemText(down_toh[i], cbuffer); i++;
// Server Overhead
cbuffer.Format(GetResString(IDS_SOVERHEAD),
CastItoXBytes(theStats.GetDownDataOverheadServer() +
thePrefs.GetDownOverheadServer()),
CastItoIShort(theStats.GetDownDataOverheadServerPackets() +
thePrefs.GetDownOverheadServerPackets()));
stattree.SetItemText(down_toh[i], cbuffer); i++;
// Kad Overhead
cbuffer.Format(GetResString(IDS_KADOVERHEAD),
CastItoXBytes(theStats.GetDownDataOverheadKad() +
thePrefs.GetDownOverheadKad()),
CastItoIShort(theStats.GetDownDataOverheadKadPackets() +
thePrefs.GetDownOverheadKadPackets()));
stattree.SetItemText(down_toh[i], cbuffer); i++;
}
} // - End Transfer -> Downloads -> Cumulative Section
} // - End Transfer -> Downloads Section
// TRANSFER-> UPLOADS SECTION
if (forceUpdate || stattree.IsExpanded(h_upload)) {
uint64 UpOHTotal = 0;
uint64 UpOHTotalPackets = 0;
// TRANSFER -> UPLOADS -> SESSION SECTION
if (forceUpdate || stattree.IsExpanded(h_up_session)) {
// Uploaded Data
cbuffer.Format(GetResString(IDS_STATS_UDATA),CastItoXBytes(theApp.stat_sessionSentBytes));
stattree.SetItemText(up_S[0], cbuffer);
if (forceUpdate || stattree.IsExpanded(up_S[0])) {
// Uploaded Data By Client
if (forceUpdate || stattree.IsExpanded(hup_scb)) {
int i = 0;
uint64 UpDataTotal = thePrefs.GetUpSessionClientData();
uint64 UpDataClient = thePrefs.GetUpData_EMULE();
double percentClientTransferred = 0;
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
cbuffer.Format( _T("eMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ) , percentClientTransferred);
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_EDONKEYHYBRID();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eD Hybrid: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ) , percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_EDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eDonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_AMULE();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("aMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_MLDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("MLdonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_SHAREAZA();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("Shareaza: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
UpDataClient = thePrefs.GetUpData_EMULECOMPAT();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eM Compat: %s (%1.1f%%)") , CastItoXBytes( UpDataClient ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer ); i++;
}
// Uploaded Data By Port
if (forceUpdate || stattree.IsExpanded(hup_spb)) {
int i = 0;
uint64 PortDataDefault = thePrefs.GetUpDataPort_4662();
uint64 PortDataOther = thePrefs.GetUpDataPort_OTHER();
uint64 PortDataTotal = thePrefs.GetUpSessionPortData();
double percentPortTransferred = 0;
if ( PortDataTotal!=0 && PortDataDefault!=0 )
percentPortTransferred = (double) 100 * PortDataDefault / PortDataTotal;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_PRTDEF) , CastItoXBytes( PortDataDefault ) , percentPortTransferred);
stattree.SetItemText( up_spb[i] , cbuffer ); i++;
if ( PortDataTotal!=0 && PortDataOther!=0 )
percentPortTransferred = (double) 100 * PortDataOther / PortDataTotal;
else
percentPortTransferred = 0;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_PRTOTHER) , CastItoXBytes( PortDataOther ) , percentPortTransferred);
stattree.SetItemText( up_spb[i] , cbuffer ); i++;
}
// Uploaded Data By Source
if (forceUpdate || stattree.IsExpanded(hup_ssb)) {
int i = 0;
uint64 DataSourceFile = thePrefs.GetUpData_File();
uint64 DataSourcePF = thePrefs.GetUpData_Partfile();
uint64 DataSourceTotal = thePrefs.GetUpSessionDataFile();
double percentFileTransferred = 0;
if ( DataSourceTotal!=0 && DataSourceFile!=0 )
percentFileTransferred = (double) 100 * DataSourceFile / DataSourceTotal;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_DSFILE) , CastItoXBytes( DataSourceFile ) , percentFileTransferred);
stattree.SetItemText( up_ssb[i] , cbuffer ); i++;
if ( DataSourceTotal!=0 && DataSourcePF!=0 )
percentFileTransferred = (double) 100 * DataSourcePF / DataSourceTotal;
else
percentFileTransferred = 0;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_DSPF) , CastItoXBytes( DataSourcePF ) , percentFileTransferred);
stattree.SetItemText( up_ssb[i] , cbuffer ); i++;
}
}
// Amount of data uploaded to friends
cbuffer.Format(GetResString(IDS_STATS_UDATA_FRIENDS),CastItoXBytes(theApp.stat_sessionSentBytesToFriend));
stattree.SetItemText(up_S[1], cbuffer);
// Set Active Uploads
cbuffer.Format(GetResString(IDS_STATS_ACTUL),theApp.uploadqueue->GetUploadQueueLength());
stattree.SetItemText(up_S[2], cbuffer);
// Set Queue Length
cbuffer.Format(GetResString(IDS_STATS_WAITINGUSERS),theApp.uploadqueue->GetWaitingUserCount());
stattree.SetItemText(up_S[3], cbuffer);
// Set Upload Sessions
statGoodSessions = theApp.uploadqueue->GetSuccessfullUpCount() + theApp.uploadqueue->GetUploadQueueLength();
statBadSessions = theApp.uploadqueue->GetFailedUpCount();
cbuffer.Format(_T("%s: %u"), GetResString(IDS_STATS_ULSES), statGoodSessions + statBadSessions);
stattree.SetItemText(up_S[4], cbuffer);
if (forceUpdate || stattree.IsExpanded(up_S[4])) {
// Set Successful Upload Sessions & Average Uploaded Per Session
if (statGoodSessions>0) { // Blackholes are when God divided by 0
percentSessions = (double) 100*statGoodSessions/(statGoodSessions+statBadSessions);
cbuffer.Format(_T("%s: %s"), GetResString(IDS_STATS_AVGDATAULSES), CastItoXBytes((uint64) theApp.stat_sessionSentBytes / statGoodSessions) ); }
else {
percentSessions = 0;
cbuffer.Format( _T("%s: %s") , GetResString(IDS_STATS_AVGDATAULSES) , GetResString(IDS_FSTAT_WAITING) );
}
stattree.SetItemText(up_ssessions[2], cbuffer);
cbuffer.Format(GetResString(IDS_STATS_SUCCUPCOUNT),statGoodSessions,percentSessions);
stattree.SetItemText(up_ssessions[0], cbuffer);
// Set Failed Upload Sessions
if (percentSessions != 0 && statBadSessions > 0) percentSessions = 100 - percentSessions; // There were some good sessions and bad ones...
else if (percentSessions == 0 && statBadSessions > 0) percentSessions = 100; // There were bad sessions and no good ones, must be 100%
else percentSessions = 0; // No sessions at all, or no bad ones.
cbuffer.Format(GetResString(IDS_STATS_FAILUPCOUNT),statBadSessions,percentSessions);
stattree.SetItemText(up_ssessions[1], cbuffer);
// Set Avg Upload time
//DWORD running=theApp.uploadqueue->GetAverageUpTime();
cbuffer.Format(GetResString(IDS_STATS_AVEUPTIME),CastSecondsToLngHM(theApp.uploadqueue->GetAverageUpTime()));
stattree.SetItemText(up_ssessions[3], cbuffer);
}
// Calculate Upline OH Totals
UpOHTotal = theStats.GetUpDataOverheadFileRequest() +
theStats.GetUpDataOverheadSourceExchange() +
theStats.GetUpDataOverheadServer() +
theStats.GetUpDataOverheadKad() +
theStats.GetUpDataOverheadOther();
UpOHTotalPackets = theStats.GetUpDataOverheadFileRequestPackets() +
theStats.GetUpDataOverheadSourceExchangePackets() +
theStats.GetUpDataOverheadServerPackets() +
theStats.GetUpDataOverheadKadPackets() +
theStats.GetUpDataOverheadOtherPackets();
// Total Upline Overhead
cbuffer.Format(GetResString(IDS_TOVERHEAD), CastItoXBytes( UpOHTotal), CastItoIShort(UpOHTotalPackets));
stattree.SetItemText(hup_soh, cbuffer);
if (forceUpdate || stattree.IsExpanded(hup_soh)) {
int i = 0;
// File Request Overhead
cbuffer.Format(GetResString(IDS_FROVERHEAD), CastItoXBytes( theStats.GetUpDataOverheadFileRequest()), CastItoIShort(theStats.GetUpDataOverheadFileRequestPackets()));
stattree.SetItemText(up_soh[i], cbuffer); i++;
// Source Exchanged Overhead
cbuffer.Format(GetResString(IDS_SSOVERHEAD), CastItoXBytes( theStats.GetUpDataOverheadSourceExchange()), CastItoIShort(theStats.GetUpDataOverheadSourceExchangePackets()));
stattree.SetItemText(up_soh[i], cbuffer); i++;
// Server Overhead
cbuffer.Format(GetResString(IDS_SOVERHEAD),
CastItoXBytes(theStats.GetUpDataOverheadServer()),
CastItoIShort(theStats.GetUpDataOverheadServerPackets()));
stattree.SetItemText(up_soh[i], cbuffer); i++;
// Kad Overhead
cbuffer.Format(GetResString(IDS_KADOVERHEAD),
CastItoXBytes(theStats.GetUpDataOverheadKad()),
CastItoIShort(theStats.GetUpDataOverheadKadPackets()));
stattree.SetItemText(up_soh[i], cbuffer); i++;
}
} // - End Transfer -> Uploads -> Session Section
// TRANSFER -> UPLOADS -> CUMULATIVE SECTION
if (forceUpdate || stattree.IsExpanded(h_up_total)) {
// Uploaded Data
cbuffer.Format(GetResString(IDS_STATS_UDATA),CastItoXBytes( theApp.stat_sessionSentBytes+thePrefs.GetTotalUploaded()));
stattree.SetItemText(up_T[0],cbuffer);
if (forceUpdate || stattree.IsExpanded(up_T[0])) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -