Clio develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
etl::SystemState Struct Reference

Represents the state of the ETL subsystem. More...

#include <SystemState.hpp>

Public Attributes

util::prometheus::Bool isReadOnly
 Whether the process is in strict read-only mode.
 
util::prometheus::Bool isWriting
 Whether the process is writing to the database.
 
std::atomic_bool isStopping = false
 Whether the software is stopping.
 
std::atomic_bool writeConflict = false
 Whether a write conflict was detected.
 
util::prometheus::Bool isAmendmentBlocked
 Whether clio detected an amendment block.
 
util::prometheus::Bool isCorruptionDetected
 Whether clio detected a corruption that needs manual attention.
 

Detailed Description

Represents the state of the ETL subsystem.

Member Data Documentation

◆ isAmendmentBlocked

util::prometheus::Bool etl::SystemState::isAmendmentBlocked
Initial value:
"etl_amendment_blocked",
"Whether clio detected an amendment block"
)
static util::prometheus::Bool boolMetric(std::string name, util::prometheus::Labels labels, std::optional< std::string > description=std::nullopt)
Get a bool based metric. It will be created if it doesn't exist.
Definition Prometheus.cpp:188
Class representing a collection of Prometheus labels.
Definition Label.hpp:59

Whether clio detected an amendment block.

Being amendment blocked means that Clio was compiled with libxrpl that does not yet support some field that arrived from rippled and therefore can't extract the ledger diff. When this happens, Clio can't proceed with ETL and should log this error and only handle RPC requests.

◆ isCorruptionDetected

util::prometheus::Bool etl::SystemState::isCorruptionDetected
Initial value:
"etl_corruption_detected",
"Whether clio detected a corruption that needs manual attention"
)

Whether clio detected a corruption that needs manual attention.

When corruption is detected, Clio should disable cache and stop the cache loading process in order to prevent further corruption.

◆ isReadOnly

util::prometheus::Bool etl::SystemState::isReadOnly
Initial value:
"read_only",
"Whether the process is in strict read-only mode"
)

Whether the process is in strict read-only mode.

In strict read-only mode, the process will never attempt to become the ETL writer, and will only publish ledgers as they are written to the database.

◆ isWriting

util::prometheus::Bool etl::SystemState::isWriting
Initial value:
"etl_writing",
"Whether the process is writing to the database"
)

Whether the process is writing to the database.


The documentation for this struct was generated from the following file: