24#ifndef GCS_STATISTICS_INTERFACE_INCLUDED
25#define GCS_STATISTICS_INTERFACE_INCLUDED
105 std::list<Gcs_node_suspicious> &suspicious)
const = 0;
This interface represents all statistics that a binding implementation should provide.
Definition: gcs_statistics_interface.h:49
virtual uint64_t get_all_empty_proposal_rounds() const =0
Sum of all empty proposal rounds that were initiated and terminated in this node.
virtual uint64_t get_all_message_bytes_received() const =0
The sum of all socket-level bytes that were received to from group nodes having as a destination this...
virtual unsigned long long get_last_proposal_round_time() const =0
The time in which our last consensus proposal was approved.
virtual uint64_t get_all_messages_sent() const =0
The number of high-level messages that this node sent to the group.
virtual ~Gcs_statistics_interface()=default
virtual uint64_t get_all_bytes_sent() const =0
Sum of all socket-level bytes that were sent to all group nodes originating on this node.
virtual void get_suspicious_count(std::list< Gcs_node_suspicious > &suspicious) const =0
A list of pairs between a group member address and the number of times the local node has seen it as ...
virtual unsigned long long get_cumulative_proposal_time() const =0
The sum of elapsed time of all consensus rounds started and finished in this node.
virtual uint64_t get_all_full_proposal_count() const =0
The number of full 3-Phase PAXOS that this node initiated.
virtual uint64_t get_all_sucessful_proposal_rounds() const =0
Sum of all proposals that were initiated and terminated in this node.
Container struct that represents a single node suspicious.
Definition: gcs_statistics_interface.h:38
uint64_t m_node_suspicious_count
Definition: gcs_statistics_interface.h:40
std::string m_node_address
Definition: gcs_statistics_interface.h:39