Line data Source code
1 : /*! 2 : * \file 3 : * \brief Class module::Probe_time. 4 : */ 5 : #ifndef PROBE_TIME_HPP_ 6 : #define PROBE_TIME_HPP_ 7 : 8 : #include <chrono> 9 : #include <string> 10 : #include <typeindex> 11 : #include <vector> 12 : 13 : #include "Module/Stateful/Probe/Probe.hpp" 14 : 15 : namespace spu 16 : { 17 : namespace module 18 : { 19 : class Probe_time : public Probe<uint8_t> 20 : { 21 : protected: 22 : std::chrono::time_point<std::chrono::steady_clock> t_start; 23 : 24 : public: 25 : Probe_time(const std::string& col_name, tools::Reporter_probe* reporter = nullptr); 26 : 27 0 : virtual ~Probe_time() = default; 28 : 29 : virtual void reset(); 30 : 31 : virtual void register_reporter(tools::Reporter_probe* reporter); 32 : 33 : protected: 34 : virtual void _probe(const uint8_t* in, const size_t frame_id); 35 : }; 36 : } 37 : } 38 : 39 : #endif /* PROBE_TIME_HPP_ */