Stroika Library
3.0d18
Help-Home
Loading...
Searching...
No Matches
MeasurementSet.h
1
/*
2
* Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3
*/
4
#ifndef _Stroika_Framework_SystemPerformance_MeasurementSet_h_
5
#define _Stroika_Framework_SystemPerformance_MeasurementSet_h_ 1
6
7
#include "Stroika/Frameworks/StroikaPreComp.h"
8
9
#include "Stroika/Foundation/Containers/Collection.h"
10
#include "
Stroika/Foundation/Time/Realtime.h
"
11
#include "
Stroika/Foundation/Traversal/Range.h
"
12
13
#include "Measurement.h"
14
15
/*
16
* TODO:
17
*
18
* @todo Consider adding some sort of MeasurementType registry to capture meta inforamtion - descriptions
19
* etc - about measurements. Don't do yet, cuz I'm not sure how to manage it - when to add things.
20
*
21
* The challenge is how do to this modularly.
22
*
23
*/
24
25
namespace
Stroika::Frameworks::SystemPerformance {
26
27
using namespace
Stroika::Foundation
;
28
using
Characters::String
;
29
using
Containers::Collection
;
30
using
Traversal::Range
;
31
32
/**
33
* A MeasurementSet is typically produced by a call to Instrument::Capture (). It represents the data
34
* from a single run of that instrument. It can be point in time, or potentially span a range of times.
35
*
36
* \note \em Thread-Safety <a href="Thread-Safety.md#C++-Standard-Thread-Safety">C++-Standard-Thread-Safety</a>
37
*/
38
struct
MeasurementSet
{
39
Range<Time::TimePointSeconds>
fMeasuredAt;
40
41
// @todo - this should use KeyedCollection, as the Measurement::fType is a KEY to this collection
42
Collection<Measurement>
fMeasurements;
43
44
/**
45
* Combine m with this measurement set. any overlapping measurements replace their cooresponding values.
46
*/
47
nonvirtual
void
MergeAdditions
(
const
MeasurementSet
& m);
48
};
49
50
}
51
52
/*
53
********************************************************************************
54
***************************** Implementation Details ***************************
55
********************************************************************************
56
*/
57
#include "MeasurementSet.inl"
58
59
#endif
/*_Stroika_Framework_SystemPerformance_MeasurementSet_h_*/
Range.h
Realtime.h
Stroika::Foundation::Characters::String
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Definition
String.h:201
Stroika::Foundation::Containers::Collection
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
Definition
Library/Sources/Stroika/Foundation/Containers/Collection.h:102
Stroika::Foundation::Traversal::Range
Definition
Range.h:276
Stroika::Foundation
Definition
BloomFilter.h:22
Stroika::Frameworks::SystemPerformance::MeasurementSet
Definition
MeasurementSet.h:38
Stroika::Frameworks::SystemPerformance::MeasurementSet::MergeAdditions
nonvirtual void MergeAdditions(const MeasurementSet &m)
Definition
MeasurementSet.inl:12
Library
Sources
Stroika
Frameworks
SystemPerformance
MeasurementSet.h
Generated by
1.9.8