#include <swcdb/db/client/Query/Update/Handlers/Metrics.h>
Public Types | |
typedef std::shared_ptr< Reporting > | Ptr |
![]() | |
typedef std::shared_ptr< BaseSingleColumn > | Ptr |
![]() | |
typedef std::shared_ptr< Base > | Ptr |
typedef Core::Vector< Column * > | Colms |
Public Member Functions | |
Reporting (const Clients::Ptr &a_clients, const Comm::IoContextPtr &a_io, Config::Property::Value_int32_g::Ptr a_cfg_intval, Clients::Flag a_executor=client::Clients::DEFAULT) | |
virtual | ~Reporting () noexcept |
virtual void | start () |
virtual void | stop () |
virtual void | wait () |
Level * | get_level (const char *name) |
virtual uint64_t | apply_time (uint32_t intval, DB::Cell::KeyVec &key) |
![]() | |
SWC_CAN_INLINE | BaseSingleColumn (const Clients::Ptr &a_clients, const cid_t cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type, Clients::Flag a_executor=Clients::DEFAULT) |
SWC_CAN_INLINE | BaseSingleColumn (const Clients::Ptr &a_clients, const cid_t cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type, const StaticBuffer &buffer) |
BaseSingleColumn (const BaseSingleColumn &)=delete | |
BaseSingleColumn (const BaseSingleColumn &&)=delete | |
BaseSingleColumn & | operator= (const BaseSingleColumn &)=delete |
virtual | ~BaseSingleColumn () noexcept |
virtual bool | requires_commit () noexcept override |
virtual bool | empty () noexcept override |
virtual size_t | size_bytes () noexcept override |
virtual void | next (Base::Colms &cols) noexcept override |
virtual Base::Column * | next (cid_t cid) noexcept override |
virtual void | error (cid_t cid, int err) noexcept override |
SWC_CAN_INLINE size_t | size () noexcept |
![]() | |
SWC_CAN_INLINE | Base (const Clients::Ptr &a_clients, Clients::Flag a_executor=Clients::Flag::DEFAULT) noexcept |
virtual int | error () noexcept |
virtual void | error (int err) noexcept |
SWC_CAN_INLINE void | add_resend_count (size_t count) noexcept |
SWC_CAN_INLINE size_t | get_resend_count (bool reset=true) noexcept |
void | commit () |
SWC_CAN_INLINE void | commit (const cid_t cid) |
void | commit (Column *colp) |
Public Attributes | |
const Comm::IoContextPtr | io |
Config::Property::Value_int32_g::Ptr | cfg_intval |
Core::Vector< Metric::Base::Ptr > | metrics |
Core::AtomicBool | running |
![]() | |
ColumnMutable | column |
![]() | |
Clients::Ptr | clients |
Profiling | profile |
Core::Atomic< int > | state_error |
Core::CompletionCounter< uint64_t > | completion |
Core::Atomic< uint32_t > | timeout |
Core::Atomic< uint32_t > | timeout_ratio |
Core::Atomic< uint32_t > | buff_sz |
Core::Atomic< uint8_t > | buff_ahead |
const Clients::Flag | executor |
Protected Member Functions | |
virtual bool | valid () noexcept override |
virtual void | response (int err=Error::OK) override |
![]() | |
virtual void | _execute (Column *colp) |
virtual | ~Base () noexcept |
Protected Attributes | |
Core::MutexSptd | m_mutex |
Private Member Functions | |
void | report () |
void | schedule () |
Private Attributes | |
asio::high_resolution_timer | m_timer |
typedef std::shared_ptr<Reporting> SWC::client::Query::Update::Handlers::Metric::Reporting::Ptr |
SWC::client::Query::Update::Handlers::Metric::Reporting::Reporting | ( | const Clients::Ptr & | a_clients, |
const Comm::IoContextPtr & | a_io, | ||
Config::Property::Value_int32_g::Ptr | a_cfg_intval, | ||
Clients::Flag | a_executor = client::Clients::DEFAULT |
||
) |
Definition at line 197 of file Metrics.cc.
|
inlinevirtualnoexcept |
|
virtual |
Definition at line 240 of file Metrics.cc.
References SWC::DB::Cell::KeyVec::add(), and SWC::Core::to_string().
Referenced by report().
Level * SWC::client::Query::Update::Handlers::Metric::Reporting::get_level | ( | const char * | name | ) |
Definition at line 230 of file Metrics.cc.
References SWC::Core::Vector< T, SizeT, GROW_SZ >::emplace_back(), SWC::client::Query::Update::Handlers::Metric::Level::get_level(), and metrics.
|
private |
Definition at line 280 of file Metrics.cc.
References SWC::DB::Cell::KeyVec::add(), apply_time(), cfg_intval, SWC::client::Query::Update::Handlers::ColumnMutable::cid, SWC::client::Query::Update::Handlers::BaseSingleColumn::column, SWC::client::Query::Update::Handlers::Base::commit(), SWC::client::Query::Update::Handlers::ColumnMutable::empty(), SWC::Config::Property::Value_int32_g::get(), metrics, SWC::client::Query::Update::Handlers::Base::profile, SWC::client::Query::Profiling::reset(), running, schedule(), SWC::DB::Types::SystemColumn::SYS_CID_DEFINE_LEXIC, SWC::DB::Types::SystemColumn::SYS_CID_STATS, and SWC::Core::to_string().
Referenced by response(), and schedule().
|
overrideprotectedvirtual |
Implements SWC::client::Query::Update::Handlers::Base.
Definition at line 246 of file Metrics.cc.
References SWC::client::Query::Update::Handlers::ColumnMutable::cid, SWC::Error::CLIENT_DATA_REMAINED, SWC::client::Query::Update::Handlers::BaseSingleColumn::column, SWC::client::Query::Update::Handlers::Base::commit(), SWC::client::Query::Update::Handlers::Base::completion, SWC::client::Query::Update::Handlers::BaseSingleColumn::empty(), SWC::client::Query::Update::Handlers::Base::error(), SWC::client::Query::Update::Handlers::ColumnMutable::error(), SWC::client::Query::Profiling::finished(), SWC::Core::CompletionCounter< CountT >::is_last(), SWC::LOG_WARN, SWC::Error::OK, SWC::Error::print(), SWC::client::Query::Update::Handlers::Base::profile, report(), SWC::client::Query::Update::Handlers::BaseSingleColumn::requires_commit(), running, schedule(), SWC::client::Query::Update::Handlers::Base::state_error, SWC::client::Query::Update::Handlers::ColumnMutable::state_error, SWC::Core::AtomicBase< T, OrderT >::store(), SWC_LOG_OSTREAM, SWC_LOG_OUT, SWC::DB::Types::SystemColumn::SYS_CID_DEFINE_LEXIC, and SWC::DB::Types::SystemColumn::SYS_CID_STATS.
|
private |
Definition at line 305 of file Metrics.cc.
References cfg_intval, SWC::Config::Property::Value_int32_g::get(), m_mutex, m_timer, report(), running, and SWC_CAN_INLINE.
Referenced by report(), response(), and start().
|
inlinevirtual |
Definition at line 250 of file Metrics.h.
References SWC::Core::AtomicBase< T, OrderT >::compare_exchange_weak(), running, and schedule().
|
virtual |
Definition at line 213 of file Metrics.cc.
References SWC::Core::AtomicBase< T, OrderT >::compare_exchange_weak(), m_mutex, m_timer, and running.
|
inlineoverrideprotectedvirtualnoexcept |
Implements SWC::client::Query::Update::Handlers::Base.
Definition at line 268 of file Metrics.h.
References running.
|
virtual |
Definition at line 221 of file Metrics.cc.
References SWC::client::Query::Update::Handlers::Base::completion, SWC::Core::CompletionCounter< CountT >::count(), SWC::LOG_WARN, SWC_FMT_LU, and SWC_LOGF.
Config::Property::Value_int32_g::Ptr SWC::client::Query::Update::Handlers::Metric::Reporting::cfg_intval |
Definition at line 239 of file Metrics.h.
Referenced by SWC::Common::Query::Update::Metric::Reporting::System::get_cpu_ms_interval(), report(), and schedule().
const Comm::IoContextPtr SWC::client::Query::Update::Handlers::Metric::Reporting::io |
|
protected |
Definition at line 266 of file Metrics.h.
Referenced by schedule(), and stop().
|
private |
Definition at line 281 of file Metrics.h.
Referenced by schedule(), and stop().
Core::Vector<Metric::Base::Ptr> SWC::client::Query::Update::Handlers::Metric::Reporting::metrics |
Definition at line 240 of file Metrics.h.
Referenced by get_level(), and report().
Core::AtomicBool SWC::client::Query::Update::Handlers::Metric::Reporting::running |
Definition at line 241 of file Metrics.h.
Referenced by report(), response(), schedule(), start(), stop(), and valid().