ComStatistics.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "ComStatistics.h"
  2. #include <QMutex>
  3. #include <QDateTime>
  4. #include <QFile>
  5. #include <QDir>
  6. #include <QTextStream>
  7. ComStatistics::ComStatistics(QString sensor_name):
  8. tag_name(sensor_name)
  9. {
  10. request_count = 0;
  11. crcerror_count = 0;
  12. timeout_count = 0;
  13. }
  14. void ComStatistics::ReQuestCount_increase()
  15. {
  16. request_count++;
  17. }
  18. void ComStatistics::CrcErrorCount_increase()
  19. {
  20. crcerror_count++;
  21. }
  22. void ComStatistics::TimeoutCount_increase()
  23. {
  24. timeout_count++;
  25. }
  26. void ComStatistics::Save2File(QString filepath)
  27. {
  28. static QMutex mutex;
  29. mutex.lock();
  30. QString time=QDateTime::currentDateTime().toString(QString("[ yyyy-MM-dd HH:mm:ss:zzz ]"));
  31. QString mmsg;
  32. mmsg = time + "["+ tag_name +"]:";
  33. mmsg += "\r\n";
  34. QString requestString;
  35. requestString = "\t ReQuestCount:" + QString::number(request_count) + "\r\n";
  36. QString crcString;
  37. crcString = "\t CrcErrorCount:" + QString::number(crcerror_count) + "\r\n";
  38. QString timeoutString;
  39. timeoutString = "\t TimeoutCount:" + QString::number(timeout_count) + "\r\n";
  40. QFile file(filepath);
  41. file.open(QIODevice::ReadWrite | QIODevice::Append);
  42. QTextStream stream(&file);
  43. stream << mmsg;
  44. stream << requestString;
  45. stream << crcString;
  46. stream << timeoutString;
  47. stream << "\r\n";
  48. file.flush();
  49. file.close();
  50. mutex.unlock();
  51. }