5#include "application.h"
7#include "dispatchtype.h"
12#include <QtCore/QStringList>
17 : d_ptr(new StatsPrivate)
20 d->engineRequest = request;
33 stat.begin = d->engineRequest->elapsed.nsecsElapsed();
34 d->actions.push_back(stat);
40 for (
auto &stat : d->actions) {
41 if (stat.action == action) {
42 stat.end = d->engineRequest->elapsed.nsecsElapsed();
53 if (d->actions.size() == 0) {
57 QVector<QStringList> table;
58 for (
const auto &stat : d->actions) {
61 QString::number((stat.end - stat.begin) / 1000000000.0,
'f') + QLatin1Char(
's')});
64 ret = Utils::buildTable(table, {QStringLiteral(
"Action"), QStringLiteral(
"Time")});
virtual void profileEnd(const QString &action)
virtual QByteArray report()
virtual void profileStart(const QString &action)
Stats(EngineRequest *request)
The Cutelyst namespace holds all public Cutelyst API.