HLCC Documentation 3.0.1
Loading...
Searching...
No Matches
monitoring.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
13
14#ifndef HLCC_TRKSIM_MONITORING_HPP
15#define HLCC_TRKSIM_MONITORING_HPP
16
17#include <chrono>
18#include <string>
19
21
22namespace hlcc::trksim {
23
24
32
33public:
35 void SetIterationStart();
36
37 void AddTotalElapsed(std::chrono::nanoseconds elapsed);
38 void AddMalPubElapsed(std::chrono::nanoseconds elapsed);
39 void AddOldbWriteElapsed(std::chrono::nanoseconds elapsed);
41
42 std::chrono::nanoseconds GetTimeSinceReset() const;
43 std::string PrintStatsAndReset();
44
45private:
46
47 std::chrono::nanoseconds m_dur_it_total; // current iteration
48 std::chrono::nanoseconds m_dur_cum_total; // cumulative since last reset
49 std::chrono::nanoseconds m_dur_max_total; // max since last reset
50
51 std::chrono::nanoseconds m_dur_it_mal_pub;
52 std::chrono::nanoseconds m_dur_cum_mal_pub;
53 std::chrono::nanoseconds m_dur_max_mal_pub;
54
55 std::chrono::nanoseconds m_dur_it_oldb_write;
56 std::chrono::nanoseconds m_dur_cum_oldb_write;
57 std::chrono::nanoseconds m_dur_max_oldb_write;
58
59 std::chrono::steady_clock::time_point m_last_reset_t;
60 std::size_t m_iteration_count;
61
62 void AddIterationValues();
63 void ResetIteration();
64};
65
66} // namespace hlcc::trksim
67#endif // HLCC_TRKSIM_MONITORING_HPP
void AddOldbWriteElapsed(std::chrono::nanoseconds elapsed)
void SetIterationStart()
Definition monitoring.cpp:30
void AddMalPubElapsed(std::chrono::nanoseconds elapsed)
void AddTotalElapsed(std::chrono::nanoseconds elapsed)
std::chrono::nanoseconds GetTimeSinceReset() const
Definition monitoring.cpp:80
void AddObservablePublisherElapsed(const hlcc::oldbmux::PublishingTimeElapsed &pte)
Definition monitoring.cpp:75
ElapsedTimeStats()
Definition monitoring.cpp:24
std::string PrintStatsAndReset()
Definition monitoring.cpp:85
Definition actionMgr.cpp:35
Definition observablePublisher.hpp:31