9#include <QElapsedTimer>
11#include <QLoggingCategory>
14#include <qtmetamacros.h>
55 explicit LagMonitor(QObject *parent =
nullptr);
76 bool eventFilter(QObject *obj, QEvent *event)
override;
QList< StallRecord > recentStalls() const
Stalls recorded during this session, oldest first.
Definition lag_monitor.cpp:21
void checkTick()
Definition lag_monitor.cpp:41
LagMonitor(QObject *parent=nullptr)
Definition lag_monitor.cpp:10
QElapsedTimer tickClock
monotonic clock, so wall clock steps do not fabricate stalls
Definition lag_monitor.h:83
void recordGap(qint64 gapMs)
Feeds a measured tick-to-tick gap through the detection logic.
Definition lag_monitor.cpp:46
bool eventFilter(QObject *obj, QEvent *event) override
Definition lag_monitor.cpp:31
static constexpr int MAX_RECORDED_STALLS
Definition lag_monitor.h:50
QList< StallRecord > stalls
Definition lag_monitor.h:84
void clearStalls()
Definition lag_monitor.cpp:26
static constexpr qint64 MAX_PLAUSIBLE_STALL_MS
Gaps beyond this are treated as suspend artifacts rather than stalls.
Definition lag_monitor.h:53
QTimer * timer
Definition lag_monitor.h:82
static constexpr int STALL_THRESHOLD_MS
Definition lag_monitor.h:49
static constexpr int TICK_INTERVAL_MS
Definition lag_monitor.h:48
Definition remote_connection_controller.h:20
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
Definition lag_monitor.h:42
qint64 durationMs
Definition lag_monitor.h:44
qint64 timestampMsSinceEpoch
when the stalled period ended
Definition lag_monitor.h:43