SQLiteClientLogger_RNSLogger.cpp 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #include "SQLiteClientLogger_RNSLogger.h"
  2. #include "RakNetTime.h"
  3. #include "GetTime.h"
  4. #include "RakNetStatistics.h"
  5. #include "RakPeerInterface.h"
  6. #include "SQLiteClientLoggerPlugin.h"
  7. using namespace RakNet;
  8. static const char *DEFAULT_RAKNET_STATISTICS_TABLE="RakNetStatistics";
  9. SQLiteClientLogger_RakNetStatistics::SQLiteClientLogger_RakNetStatistics()
  10. {
  11. lastUpdate=0;
  12. }
  13. SQLiteClientLogger_RakNetStatistics::~SQLiteClientLogger_RakNetStatistics()
  14. {
  15. }
  16. void SQLiteClientLogger_RakNetStatistics::Update(void)
  17. {
  18. RakNet::TimeUS time = RakNet::GetTimeUS();
  19. if (time-lastUpdate>1000000)
  20. {
  21. lastUpdate=time;
  22. unsigned int i;
  23. RakNetStatistics rns;
  24. for (i=0; i < rakPeerInterface->GetMaximumNumberOfPeers(); i++)
  25. {
  26. if (rakPeerInterface->GetStatistics( i, &rns ))
  27. {
  28. /*
  29. rns.valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED],
  30. rns.valueOverLastSecond[USER_MESSAGE_BYTES_SENT],
  31. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RESENT],
  32. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],
  33. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED],
  34. rns.valueOverLastSecond[ACTUAL_BYTES_SENT],
  35. rns.valueOverLastSecond[ACTUAL_BYTES_RECEIVED],
  36. rns.runningTotal[USER_MESSAGE_BYTES_PUSHED],
  37. rns.runningTotal[USER_MESSAGE_BYTES_SENT],
  38. rns.runningTotal[USER_MESSAGE_BYTES_RESENT],
  39. rns.runningTotal[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],
  40. rns.runningTotal[USER_MESSAGE_BYTES_RECEIVED_IGNORED],
  41. rns.runningTotal[ACTUAL_BYTES_SENT],
  42. rns.runningTotal[ACTUAL_BYTES_RECEIVED],
  43. rns.connectionStartTime,
  44. rns.BPSLimitByCongestionControl,
  45. rns.isLimitedByCongestionControl,
  46. rns.BPSLimitByOutgoingBandwidthLimit,
  47. rns.isLimitedByOutgoingBandwidthLimit,
  48. rns.messageInSendBuffer[IMMEDIATE_PRIORITY],
  49. rns.messageInSendBuffer[HIGH_PRIORITY],
  50. rns.messageInSendBuffer[MEDIUM_PRIORITY],
  51. rns.messageInSendBuffer[LOW_PRIORITY],
  52. rns.bytesInSendBuffer[IMMEDIATE_PRIORITY],
  53. rns.bytesInSendBuffer[HIGH_PRIORITY],
  54. rns.bytesInSendBuffer[MEDIUM_PRIORITY],
  55. rns.bytesInSendBuffer[LOW_PRIORITY],
  56. rns.messagesInResendBuffer,
  57. rns.bytesInResendBuffer,
  58. rns.packetlossLastSecond,
  59. rns.packetlossTotal,
  60. */
  61. rakSqlLog(
  62. DEFAULT_RAKNET_STATISTICS_TABLE,
  63. "valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED],"
  64. "valueOverLastSecond[USER_MESSAGE_BYTES_SENT],"
  65. "valueOverLastSecond[USER_MESSAGE_BYTES_RESENT],"
  66. "valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED],"
  67. "valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED],"
  68. "valueOverLastSecond[ACTUAL_BYTES_SENT],"
  69. "valueOverLastSecond[ACTUAL_BYTES_RECEIVED],"
  70. "BPSLimitByCongestionControl,"
  71. "BPSLimitByOutgoingBandwidthLimit,"
  72. "bytesInSendBuffer,"
  73. "messagesInResendBuffer,"
  74. "bytesInResendBuffer,"
  75. "packetlossLastSecond,"
  76. "packetlossTotal",
  77. ( \
  78. rns.valueOverLastSecond[USER_MESSAGE_BYTES_PUSHED], \
  79. rns.valueOverLastSecond[USER_MESSAGE_BYTES_SENT], \
  80. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RESENT], \
  81. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_PROCESSED], \
  82. rns.valueOverLastSecond[USER_MESSAGE_BYTES_RECEIVED_IGNORED], \
  83. rns.valueOverLastSecond[ACTUAL_BYTES_SENT], \
  84. rns.valueOverLastSecond[ACTUAL_BYTES_RECEIVED], \
  85. rns.BPSLimitByCongestionControl, \
  86. rns.BPSLimitByOutgoingBandwidthLimit, \
  87. rns.bytesInSendBuffer[IMMEDIATE_PRIORITY]+rns.bytesInSendBuffer[HIGH_PRIORITY]+rns.bytesInSendBuffer[MEDIUM_PRIORITY]+rns.bytesInSendBuffer[LOW_PRIORITY], \
  88. rns.messagesInResendBuffer, \
  89. rns.bytesInResendBuffer, \
  90. rns.packetlossLastSecond, \
  91. rns.packetlossTotal \
  92. ));
  93. }
  94. }
  95. }
  96. }
粤ICP备19079148号