#ifndef QGAPPLICATIONPERFORMANCE_H #define QGAPPLICATIONPERFORMANCE_H #include #include class QgApplicationPerformance : public QObject { Q_OBJECT Q_PROPERTY(unsigned long refreshRate READ refreshRate WRITE setRefreshRate) private: explicit QgApplicationPerformance(QObject *parent = 0); public: static QgApplicationPerformance& instance(); void setNetworkInterfaceIndex(unsigned int index, const QString& ipAddress=QString()); void setRefreshRate(unsigned long seconds); unsigned long refreshRate() const; unsigned int cpuUsage() const; unsigned int peekCpuUsage() const; unsigned long memoryUsageKiB() const; unsigned long peekMemoryUsageKiB() const; QString toString(); void reset(); signals: void countersUpdated(); public slots: private slots: void updateCounters(); private: void timerEvent(QTimerEvent* evn); unsigned int net_index; QElapsedTimer elapsedTimer; }; #endif // QGAPPLICATIONPERFORMANCE_H