Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #include <base/cpuinfo.h> 6 : #include <db/db.h> 7 : #include <cmn/agent_cmn.h> 8 : #include <oper/interface_common.h> 9 : #include <oper/interface.h> 10 : 11 : #include <uve/stats_collector.h> 12 : #include <uve/agent_uve_stats.h> 13 : #include <uve/stats_interval_types.h> 14 : #include <init/agent_param.h> 15 : #include <oper/mirror_table.h> 16 : #include <uve/vrouter_stats_collector.h> 17 : #include <uve/vm_uve_table.h> 18 : #include <uve/vn_uve_table.h> 19 : #include <uve/vrouter_uve_entry.h> 20 : #include <uve/interface_uve_stats_table.h> 21 : 22 0 : AgentUveStats::AgentUveStats(Agent *agent, uint64_t intvl, 23 0 : uint32_t default_intvl, uint32_t incremental_intvl) 24 : : AgentUveBase(agent, intvl, default_intvl, incremental_intvl), 25 0 : stats_manager_(new StatsManager(agent)) { 26 0 : vn_uve_table_.reset(new VnUveTable(agent, default_intvl)); 27 0 : vm_uve_table_.reset(new VmUveTable(agent, default_intvl)); 28 0 : vrouter_uve_entry_.reset(new VrouterUveEntry(agent)); 29 0 : interface_uve_table_.reset(new InterfaceUveStatsTable(agent, 30 0 : default_intvl)); 31 0 : } 32 : 33 0 : AgentUveStats::~AgentUveStats() { 34 0 : } 35 : 36 0 : StatsManager *AgentUveStats::stats_manager() const { 37 0 : return stats_manager_.get(); 38 : } 39 : 40 0 : void AgentUveStats::Shutdown() { 41 0 : AgentUveBase::Shutdown(); 42 0 : stats_manager_->Shutdown(); 43 0 : } 44 : 45 0 : void AgentUveStats::RegisterDBClients() { 46 0 : AgentUveBase::RegisterDBClients(); 47 0 : stats_manager_->RegisterDBClients(); 48 0 : } 49 : 50 0 : void AgentUveStats::InitDone() { 51 0 : AgentUveBase::InitDone(); 52 0 : stats_manager_->InitDone(); 53 0 : } 54 : 55 : // The following is deprecated and is present only for backward compatibility 56 0 : void GetStatsInterval::HandleRequest() const { 57 0 : StatsIntervalResp_InSeconds *resp = new StatsIntervalResp_InSeconds(); 58 0 : resp->set_agent_stats_interval(0); 59 0 : resp->set_flow_stats_interval(0); 60 0 : resp->set_context(context()); 61 0 : resp->Response(); 62 0 : return; 63 : }