5 #ifndef _ROOT_STATS_MANAGER_H_
6 #define _ROOT_STATS_MANAGER_H_
12 #include <vrouter_types.h>
30 #define DEFAULT_FUVE_REQUEST_QUEUE_SIZE (4*1024*1024)
39 void UpdateStats(uint64_t in_b, uint64_t in_p, uint64_t out_b,
42 void GetDiffStats(uint64_t *in_b, uint64_t *out_b)
const;
198 typedef std::map<const boost::uuids::uuid, FlowRuleMatchInfo>
FlowAceTree;
199 typedef std::pair<const boost::uuids::uuid, FlowRuleMatchInfo>
FlowAcePair;
216 void EnqueueEvent(
const boost::shared_ptr<FlowUveStatsRequest> &req);
220 VrouterFlowRate &flow_rate)
const;
222 AgentDropStats &ds)
const;
248 #endif // _ROOT_STATS_MANAGER_H_
void AddNamelessVrfStatsEntry()
VrfStats * GetVrfStats(int vrf_id)
uint64_t k_encap_composites
uint64_t prev_evpn_composites
uint64_t prev_l2_mcast_composites
FlowUveFwPolicyInfo fw_policy_info
uint64_t arp_virtual_proxy
vr_drop_stats_req drop_stats_
uint64_t arp_physical_stitch
WorkQueue< boost::shared_ptr< FlowUveStatsRequest > > request_queue_
uint64_t prev_gre_mpls_tunnels
FlowAceTree flow_ace_tree_
uint64_t k_l2_mcast_composites
uint64_t arp_virtual_flood
uint64_t encap_composites
uint64_t k_arp_physical_stitch
StatsManager(Agent *agent)
std::pair< const boost::uuids::uuid, FlowRuleMatchInfo > FlowAcePair
uint64_t l2_mcast_composites
InterfaceStatsTree if_stats_tree_
vr_drop_stats_req drop_stats() const
uint64_t prev_fabric_composites
DISALLOW_COPY_AND_ASSIGN(StatsManager)
uint64_t k_arp_physical_flood
uint64_t arp_virtual_stitch
uint64_t fabric_composites
uint64_t prev_arp_physical_flood
uint64_t prev_vrf_translates
uint64_t prev_udp_tunnels
void BuildDropStats(const vr_drop_stats_req &r, AgentDropStats &ds) const
uint64_t udp_mpls_tunnels
uint64_t prev_encap_composites
uint64_t prev_flow_created_
void DelVrfStatsEntry(const VrfEntry *intf)
bool RequestHandler(boost::shared_ptr< FlowUveStatsRequest > req)
uint64_t k_vrf_translates
void DeleteFlow(const FlowUveStatsRequest *req)
std::map< const boost::uuids::uuid, FlowRuleMatchInfo > FlowAceTree
uint64_t prev_5min_out_bytes
std::map< int, VrfStats > VrfIdToVrfStatsTree
uint64_t k_udp_mpls_tunnels
FlowRateComputeInfo flow_info
void AddInterfaceStatsEntry(const Interface *intf)
uint64_t k_evpn_composites
VrfIdToVrfStatsTree vrf_stats_tree_
void EnqueueEvent(const boost::shared_ptr< FlowUveStatsRequest > &req)
uint64_t arp_physical_flood
uint64_t k_fabric_composites
uint64_t prev_udp_mpls_tunnels
vr_drop_stats_req drop_stats
bool IsFwPolicyInfoEqual(const FlowUveFwPolicyInfo &info) const
AgentStats::FlowCounters deleted
std::pair< const Interface *, InterfaceStats > InterfaceStatsPair
bool BuildFlowRate(AgentStats::FlowCounters &created, AgentStats::FlowCounters &aged, FlowRateComputeInfo &flow_info, VrouterFlowRate &flow_rate) const
uint64_t prev_arp_virtual_proxy
void AddFlow(const FlowUveStatsRequest *req)
uint64_t prev_l2_receives
std::string remote_prefix_
bool IsVnAceInfoEqual(const FlowUveVnAcePolicyInfo &info) const
void InterfaceNotify(DBTablePartBase *part, DBEntryBase *e)
friend class AgentStatsCollectorTest
AgentStats::FlowCounters added
uint64_t prev_5min_in_bytes
static uint64_t UTCTimestampUsec()
uint64_t prev_arp_virtual_stitch
uint64_t k_arp_virtual_flood
uint64_t prev_arp_physical_stitch
std::string GetNamelessVrf()
uint64_t k_ecmp_composites
void AddUpdateVrfStatsEntry(const VrfEntry *intf)
uint64_t prev_ecmp_composites
void DelInterfaceStatsEntry(const Interface *intf)
uint64_t k_arp_virtual_proxy
uint64_t gre_mpls_tunnels
uint64_t k_arp_virtual_stitch
std::map< const Interface *, InterfaceStats > InterfaceStatsTree
uint64_t prev_arp_virtual_flood
void set_drop_stats(const vr_drop_stats_req &req)
uint64_t prev_arp_tor_proxy
DBTableBase::ListenerId vrf_listener_id_
void GetDiffStats(uint64_t *in_b, uint64_t *out_b) const
std::pair< int, VrfStats > VrfStatsPair
void UpdateStats(uint64_t in_b, uint64_t in_p, uint64_t out_b, uint64_t out_p)
InterfaceStats * GetInterfaceStats(const Interface *intf)
void VrfNotify(DBTablePartBase *partition, DBEntryBase *e)
FlowRuleMatchInfo(const std::string &itf, const std::string &sg_rule, const FlowUveFwPolicyInfo &fw_info, const FlowUveVnAcePolicyInfo &nw_ace_info)
uint64_t prev_vxlan_tunnels
FlowUveVnAcePolicyInfo vn_ace_info
uint64_t k_gre_mpls_tunnels
DBTableBase::ListenerId intf_listener_id_