SRS-control 0.1.4
 
Loading...
Searching...
No Matches
srs::workflow::DataMonitor Class Reference

#include <Handler.hpp>

Collaboration diagram for srs::workflow::DataMonitor:

Public Member Functions

 DataMonitor (Handler *processor, io_context_type *io_context)
 
void show_data_speed (bool val=true)
 
void set_display_period (std::chrono::milliseconds duration)
 
void start ()
 
void stop ()
 
void update (const StructData &data_struct)
 
void http_server_loop ()
 
auto get_received_bytes_MBps () const -> double
 
auto get_processed_hit_rate () const -> double
 

Private Member Functions

void set_speed_string (double speed_MBps)
 
auto print_cycle () -> asio::awaitable< void >
 

Private Attributes

bool is_shown_ = true
 
gsl::not_null< Handler * > processor_
 
gsl::not_null< io_context_type * > io_context_
 
std::shared_ptr< spdlog::logger > console_
 
asio::steady_timer clock_
 
std::atomic< uint64_t > last_read_data_bytes_ = 0
 
std::atomic< uint64_t > last_processed_hit_num_ = 0
 
std::chrono::time_point< std::chrono::steady_clock > last_print_time_ = std::chrono::steady_clock::now()
 
std::chrono::milliseconds period_ = common::DEFAULT_DISPLAY_PERIOD
 
std::atomic< double > current_received_bytes_MBps_
 
std::atomic< double > current_hits_ps_
 
std::string speed_string_
 

Detailed Description

Definition at line 23 of file Handler.hpp.

Constructor & Destructor Documentation

◆ DataMonitor()

srs::workflow::DataMonitor::DataMonitor ( Handler * processor,
io_context_type * io_context )
explicit

Definition at line 13 of file Handler.cpp.

Member Function Documentation

◆ get_processed_hit_rate()

auto srs::workflow::DataMonitor::get_processed_hit_rate ( ) const -> double
inlinenodiscard

Definition at line 36 of file Handler.hpp.

◆ get_received_bytes_MBps()

auto srs::workflow::DataMonitor::get_received_bytes_MBps ( ) const -> double
inlinenodiscard

Definition at line 35 of file Handler.hpp.

◆ http_server_loop()

void srs::workflow::DataMonitor::http_server_loop ( )

◆ print_cycle()

auto srs::workflow::DataMonitor::print_cycle ( ) -> asio::awaitable<void>
private

Definition at line 20 of file Handler.cpp.

◆ set_display_period()

void srs::workflow::DataMonitor::set_display_period ( std::chrono::milliseconds duration)
inline

Definition at line 28 of file Handler.hpp.

◆ set_speed_string()

void srs::workflow::DataMonitor::set_speed_string ( double speed_MBps)
private

Definition at line 56 of file Handler.cpp.

◆ show_data_speed()

void srs::workflow::DataMonitor::show_data_speed ( bool val = true)
inline

Definition at line 27 of file Handler.hpp.

◆ start()

void srs::workflow::DataMonitor::start ( )

Definition at line 69 of file Handler.cpp.

◆ stop()

void srs::workflow::DataMonitor::stop ( )

Definition at line 71 of file Handler.cpp.

◆ update()

void srs::workflow::DataMonitor::update ( const StructData & data_struct)
inline

Definition at line 31 of file Handler.hpp.

Member Data Documentation

◆ clock_

asio::steady_timer srs::workflow::DataMonitor::clock_
private

Definition at line 43 of file Handler.hpp.

◆ console_

std::shared_ptr<spdlog::logger> srs::workflow::DataMonitor::console_
private

Definition at line 42 of file Handler.hpp.

◆ current_hits_ps_

std::atomic<double> srs::workflow::DataMonitor::current_hits_ps_
private

Definition at line 49 of file Handler.hpp.

◆ current_received_bytes_MBps_

std::atomic<double> srs::workflow::DataMonitor::current_received_bytes_MBps_
private

Definition at line 48 of file Handler.hpp.

◆ io_context_

gsl::not_null<io_context_type*> srs::workflow::DataMonitor::io_context_
private

Definition at line 41 of file Handler.hpp.

◆ is_shown_

bool srs::workflow::DataMonitor::is_shown_ = true
private

Definition at line 39 of file Handler.hpp.

◆ last_print_time_

std::chrono::time_point<std::chrono::steady_clock> srs::workflow::DataMonitor::last_print_time_ = std::chrono::steady_clock::now()
private

Definition at line 46 of file Handler.hpp.

◆ last_processed_hit_num_

std::atomic<uint64_t> srs::workflow::DataMonitor::last_processed_hit_num_ = 0
private

Definition at line 45 of file Handler.hpp.

◆ last_read_data_bytes_

std::atomic<uint64_t> srs::workflow::DataMonitor::last_read_data_bytes_ = 0
private

Definition at line 44 of file Handler.hpp.

◆ period_

std::chrono::milliseconds srs::workflow::DataMonitor::period_ = common::DEFAULT_DISPLAY_PERIOD
private

Definition at line 47 of file Handler.hpp.

◆ processor_

gsl::not_null<Handler*> srs::workflow::DataMonitor::processor_
private

Definition at line 40 of file Handler.hpp.

◆ speed_string_

std::string srs::workflow::DataMonitor::speed_string_
private

Definition at line 50 of file Handler.hpp.


The documentation for this class was generated from the following files: