add total calls to stats

This commit is contained in:
Lion Kortlepel
2024-03-06 10:24:25 +01:00
committed by Lion
parent 946c1362e1
commit 40533c04bc
3 changed files with 5 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ struct Stats {
double min;
double max;
size_t n;
size_t total_calls;
};
/// Calculates and stores the moving average over K samples of execution time data
@@ -41,6 +42,7 @@ struct UnitExecutionTime {
private:
boost::synchronized_value<boost::circular_buffer<Duration>> m_measurements;
size_t m_total_calls {};
};
/// Holds profiles for multiple units by name. Threadsafe.

View File

@@ -52,11 +52,13 @@ prof::Stats prof::UnitExecutionTime::stats() const {
result.stddev += std::pow(measurement.count() - result.mean, 2);
}
result.stddev = std::sqrt(result.stddev / double(measurements->size()));
result.total_calls = m_total_calls;
return result;
}
void prof::UnitExecutionTime::add_sample(const Duration& dur) {
m_measurements->push_back(dur);
++m_total_calls;
}
prof::UnitExecutionTime::UnitExecutionTime()

View File

@@ -860,6 +860,7 @@ TLuaEngine::StateThreadData::StateThreadData(const std::string& Name, TLuaStateI
Result[name]["min"] = stat.min;
Result[name]["max"] = stat.max;
Result[name]["n"] = stat.n;
Result[name]["total_calls"] = stat.total_calls;
}
return Result;
});