4#ifndef _Stroika_Framework_SystemPerformance_Capturer_h_
5#define _Stroika_Framework_SystemPerformance_Capturer_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
9#include "Stroika/Foundation/Common/Property.h"
10#include "Stroika/Foundation/Containers/Collection.h"
11#include "Stroika/Foundation/Containers/Set.h"
17#include "CaptureSet.h"
18#include "Measurement.h"
36namespace Stroika::Frameworks::SystemPerformance {
177 nonvirtual
void AddCaptureSet (
const CaptureSet& cs);
180 nonvirtual
void ManageRunner_ (
bool on);
183 nonvirtual
void Runner_ ();
186 nonvirtual
void RunnerOnce_ (
const CaptureSet& cs);
195 uint64_t fCaptureSetChangeCount_{0};
198 Execution::ThreadPool fThreadPool_{Execution::ThreadPool::Options{.fThreadCount = 0, .fThreadPoolName =
"SystemPerformanceCapturer"}};
208#include "Capturer.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
Wrap any object with Synchronized<> and it can be used similarly to the base type,...
Duration is a chrono::duration<double> (=.