49 lines
1022 B
C++
49 lines
1022 B
C++
#ifndef QGAPPLICATIONPERFORMANCE_H
|
|
#define QGAPPLICATIONPERFORMANCE_H
|
|
|
|
#include <QObject>
|
|
|
|
#include <QElapsedTimer>
|
|
|
|
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
|