UniSet  2.8.0
Классы | Открытые члены | Открытые статические члены | Открытые атрибуты | Защищенные типы | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::RRDServer
Граф наследования:uniset::RRDServer:
Inheritance graph
[см. легенду]
Граф связей класса uniset::RRDServer:
Collaboration graph
[см. легенду]

Классы

struct  DSInfo
 
struct  RRDInfo
 

Открытые члены

 RRDServer (uniset::ObjectId objId, xmlNode *cnode, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="rrd")
 
std::shared_ptr< LogAgregatorgetLogAggregator ()
 
std::shared_ptr< DebugStreamlog ()
 
- Открытые члены унаследованные от UObject_SK
 UObject_SK (uniset::ObjectId id, xmlNode *node=uniset::uniset_conf() ->getNode("UObject"), const std::string &argprefix="", xmlNode *globalConfNode=nullptr)
 
long getValue (uniset::ObjectId sid)
 
void setValue (uniset::ObjectId sid, long value)
 
void askSensor (uniset::ObjectId sid, UniversalIO::UIOCommand, uniset::ObjectId node=uniset::uniset_conf() ->getLocalNode())
 
void updateValues ()
 
virtual uniset::SimpleInfogetInfo (const char *userparam) override
 
virtual bool setMsg (uniset::ObjectId code, bool state=true) noexcept
 
std::shared_ptr< DebugStreamlog () noexcept
 
std::shared_ptr< uniset::LogAgregatorlogAgregator () noexcept
 
void init_dlog (std::shared_ptr< DebugStream > d) noexcept
 
std::string dumpIO ()
 
std::string str (uniset::ObjectId id, bool showLinkName=true) const
 
std::string strval (uniset::ObjectId id, bool showLinkName=true) const
 
std::string msgstr (uniset::ObjectId id, bool showLinkName=true) const
 
std::string dumpVars ()
 
std::string help () const noexcept
 
virtual Poco::JSON::Object::Ptr httpGet (const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p) override
 
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
 
- Открытые члены унаследованные от uniset::UniSetObject
 UniSetObject (const std::string &name, const std::string &section)
 
 UniSetObject (uniset::ObjectId id)
 
virtual CORBA::Boolean exist () override
 
virtual uniset::ObjectId getId () override
 
const uniset::ObjectId getId () const
 
std::string getName () const
 
virtual uniset::ObjectType getType () override
 
const std::string getStrType ()
 
virtual uniset::SimpleInfoapiRequest (const char *query) override
 
virtual void push (const uniset::TransportMessage &msg) override
 поместить сообщение в очередь Подробнее...
 
virtual void pushMessage (const char *msg, ::CORBA::Long mtype, const ::uniset::Timespec &tm, const ::uniset::ProducerInfo &pi, ::CORBA::Long priority, ::CORBA::Long consumer) override
 поместить текстовое сообщение в очередь Подробнее...
 
uniset::ObjectPtr getRef () const
 
std::shared_ptr< UniSetObjectget_ptr ()
 
virtual timeout_t askTimer (uniset::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, uniset::Message::Priority p=uniset::Message::High) override
 
- Открытые члены унаследованные от uniset::LT_Object
timeout_t checkTimers (UniSetObject *obj)
 
timeout_t getTimeInterval (uniset::TimerId timerid) const
 
timeout_t getTimeLeft (uniset::TimerId timerid) const
 

Открытые статические члены

static std::shared_ptr< RRDServerinit_rrdstorage (int argc, const char *const *argv, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="rrd")
 
static void help_print (int argc, const char *const *argv)
 

Открытые атрибуты

const size_t RRD_MAX_DSNAME_LEN = 19
 

Защищенные типы

typedef std::unordered_map< uniset::ObjectId, std::shared_ptr< DSInfo > > DSMap
 
typedef std::vector< std::shared_ptr< DSInfo > > DSList
 
typedef std::vector< RRDInfoRRDList
 
- Защищенные типы унаследованные от uniset::LT_Object
typedef std::deque< TimerInfoTimersList
 

Защищенные члены

virtual void askSensors (UniversalIO::UIOCommand cmd) override
 
virtual void sensorInfo (const uniset::SensorMessage *sm) override
 
virtual void timerInfo (const uniset::TimerMessage *tm) override
 
virtual void sysCommand (const uniset::SystemMessage *sm) override
 
void initRRD (xmlNode *cnode, int tmID)
 
virtual void step () override
 
- Защищенные члены унаследованные от UObject_SK
virtual void callback () noexcept override
 
virtual void processingMessage (const uniset::VoidMessage *msg) override
 
virtual bool activateObject () override
 Активизация объекта (переопределяется для необходимых действий после активизации) Подробнее...
 
virtual bool deactivateObject () override
 Деактивация объекта (переопределяется для необходимых действий при завершении работы) Подробнее...
 
virtual std::string getMonitInfo () const
 
virtual std::string getTypeOfMessage (int t) const
 
virtual void httpGetUserData (Poco::JSON::Object::Ptr &jdata)
 
virtual Poco::JSON::Object::Ptr httpDumpIO ()
 
virtual Poco::JSON::Object::Ptr httpRequestLog (const Poco::URI::QueryParameters &p)
 
void preAskSensors (UniversalIO::UIOCommand cmd)
 
void preSysCommand (const uniset::SystemMessage *sm)
 
virtual void testMode (bool state)
 
void updateOutputs (bool force)
 
bool waitSM (int wait_msec, uniset::ObjectId testID=uniset::DefaultObjectId)
 
uniset::ObjectId getSMTestID () const
 
void resetMsg ()
 
int getIntProp (const std::string &name)
 
const std::string getProp (const std::string &name)
 
- Защищенные члены унаследованные от uniset::UniSetObject
virtual void onTextMessage (const uniset::TextMessage *tm)
 
VoidMessagePtr receiveMessage ()
 
VoidMessagePtr waitMessage (timeout_t msec=UniSetTimer::WaitUpTime)
 
void termWaiting ()
 
size_t countMessages ()
 
size_t getCountOfLostMessages () const
 
void uterminate ()
 
void thread (bool create)
 
void offThread ()
 
void onThread ()
 
void setID (uniset::ObjectId id)
 
void setThreadPriority (Poco::Thread::Priority p)
 
void setMaxSizeOfMessageQueue (size_t s)
 
size_t getMaxSizeOfMessageQueue () const
 
bool isActive () const
 
void setActive (bool set)
 
virtual Poco::JSON::Object::Ptr httpGetMyInfo (Poco::JSON::Object::Ptr root)
 
Poco::JSON::Object::Ptr request_conf (const std::string &req, const Poco::URI::QueryParameters &p)
 
Poco::JSON::Object::Ptr request_conf_name (const std::string &name, const std::string &props)
 
- Защищенные члены унаследованные от uniset::LT_Object
virtual std::string getTimerName (int id) const
 
TimersList getTimersList () const
 

Защищенные данные

std::shared_ptr< SMInterfaceshm
 
RRDList rrdlist
 
- Защищенные данные унаследованные от UObject_SK
uniset::Trigger trResetMsg
 
uniset::PassiveTimer ptResetMsg
 
int resetMsgTime
 
int sleep_msec
 
bool active
 
const std::string argprefix
 
uniset::ObjectId smTestID
 
uniset::PassiveTimer ptHeartBeat
 
uniset::ObjectId idHeartBeat
 
long maxHeartBeat
 
xmlNode * confnode
 
uniset::timeout_t smReadyTimeout
 
std::atomic_bool activated = { false }
 
std::atomic_bool cancelled = { false }
 
uniset::timeout_t activateTimeout
 
uniset::PassiveTimer ptStartUpTimeout
 
int askPause
 
IOController_i::SensorInfo si
 
bool forceOut
 
std::shared_ptr< uniset::LogAgregatorloga
 
std::shared_ptr< DebugStreammylog
 
std::shared_ptr< uniset::LogServerlogserv
 
std::string logserv_host = {""}
 
int logserv_port = {0}
 
uniset::VMonitor vmon
 
- Защищенные данные унаследованные от uniset::UniSetObject
std::shared_ptr< UInterfaceui
 
std::string myname
 
std::weak_ptr< UniSetManagermymngr
 
- Защищенные данные унаследованные от uniset::LT_Object
timeout_t sleepTime
 

Подробное описание

\page page_RRDServer Реализация RRD хранилища

  - \ref sec_RRD_Comm
  - \ref sec_RRD_Conf
  - \ref sec_RRD_DSName

\section sec_RRD_Comm Общее описание RRDServer

"RoundRobinDatabase" - реализация циклического хранилища.
Процесс реализует циклическое хранение данных (от датчиков) и позволяет
конфигурировать любое количество rrd-баз и входящих в них "источников".

\section sec_RRD_Conf Настройка RRDServer

Пример секции конфигурации:
<RRDServer1 name="RRDServer1">
<rrd filename="rrdtest.rrd" filter_field="rrd" filter_value="1" step="5" ds_field="rrd1_ds" overwrite="0">
<item rra="RRA:AVERAGE:0.5:1:4320"/>
<item rra="RRA:MAX:0.5:1:4320"/>
</rrd>
<rrd filename="rrdtest2.rrd" filter_field="rrd" filter_value="2" step="10" ds_field="rrd2_ds" overwrite="0">
<item rra="RRA:AVERAGE:0.5:1:4320"/>
<item rra="RRA:MAX:0.5:1:4320"/>
</rrd>
</RRDServer1>

Где:

При этом в секции <sensors> у датчиков прописываются параметры относящиеся к источнику:

<sensors>
...
<item id="54" iotype="AI" name="AI54_S" textname="AI sensor 54" rrd="1" rrd1_ds="GAUGE:20:U:U"/>
<item id="55" iotype="AI" name="AI55_S" textname="AI sensor 55" rrd="1" rrd1_ds="GAUGE:20:U:U"/>
<item id="56" iotype="AI" name="AI56_S" textname="AI sensor 56" rrd="2" rrd2_ds="COUNTER:20:U:U"/>
<item id="57" iotype="AI" name="AI57_S" rrd2_ds_dsname='A57MyRRDName' textname="AI sensor 57" rrd="2" rrd2_ds="DERIVE:20:U:U"/>
...
</sensors>

Именование параметров

По умолчанию в качестве имени параметра берётся поле 'ds_field'_dsname='', если это поле не указано, то берётся name датчика.

Предупреждения
Имя не может превышать RRDServer::RRD_MAX_DSNAME_LEN.

Методы

◆ help_print()

void RRDServer::help_print ( int  argc,
const char *const *  argv 
)
static

глобальная функция для вывода help-а

◆ init_rrdstorage()

std::shared_ptr< RRDServer > RRDServer::init_rrdstorage ( int  argc,
const char *const *  argv,
uniset::ObjectId  shmID,
const std::shared_ptr< SharedMemory > &  ic = nullptr,
const std::string &  prefix = "rrd" 
)
static

глобальная функция для инициализации объекта

Данные класса

◆ RRD_MAX_DSNAME_LEN

const size_t uniset::RRDServer::RRD_MAX_DSNAME_LEN = 19

максимальная длинна имени в RRD