OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SessionStatsCollector Class Reference

#include <session_stats_collector.h>

Inheritance diagram for SessionStatsCollector:
Collaboration diagram for SessionStatsCollector:

Classes

class  SessionTask
 

Public Types

typedef std::map< const
SessionEndpointKey,
SessionEndpointInfo,
SessionEndpointKeyCmp
SessionEndpointMap
 
typedef WorkQueue
< boost::shared_ptr
< SessionStatsReq > > 
Queue
 
typedef std::map< FlowEntryPtr,
FlowToSessionMap
FlowSessionMap
 
typedef std::map< std::string,
SessionSloRuleEntry
SessionSloRuleMap
 
- Public Types inherited from StatsCollector
enum  StatsInstance { FlowStatsCollector, AgentStatsCollector }
 

Public Member Functions

uint32_t RunSessionEndpointStats (uint32_t max_count)
 
 SessionStatsCollector (boost::asio::io_context &io, AgentUveBase *uve, uint32_t instance_id, FlowStatsManager *fsm, SessionStatsCollectorObject *obj)
 
virtual ~SessionStatsCollector ()
 
bool Run ()
 
int task_id () const
 
uint32_t instance_id () const
 
const Queuequeue () const
 
size_t Size () const
 
- Public Member Functions inherited from StatsCollector
 StatsCollector (int task_id, int32_t instance, boost::asio::io_service &io, int exp, std::string timer_name)
 
virtual ~StatsCollector ()
 
void InitDone ()
 
void Shutdown ()
 
void TestStartStopTimer (bool stop)
 
int expiry_time () const
 
void set_expiry_time (int time)
 
void RescheduleTimer (int time)
 

Static Public Attributes

static const uint32_t kSessionStatsTimerInterval = 1000
 
static const uint32_t kSessionsPerTask = 256
 

Protected Member Functions

virtual void DispatchSessionMsg (const std::vector< SessionEndpoint > &lst)
 

Private Member Functions

int ComputeSloRate (int rate, SecurityLoggingObject *slo) const
 
bool FetchFlowStats (SessionFlowStatsInfo *info, SessionFlowStatsParams *params) const
 
uint64_t threshold () const
 
bool IsSamplingEnabled () const
 
bool SampleSession (SessionPreAggInfo::SessionMap::iterator session_map_iter, SessionStatsParams *params) const
 
bool SessionStatsChangedLocked (SessionPreAggInfo::SessionMap::iterator session_map_iter, SessionStatsParams *params) const
 
bool SessionStatsChangedUnlocked (SessionPreAggInfo::SessionMap::iterator session_map_iter, SessionStatsParams *params) const
 
bool ProcessSessionEndpoint (const SessionEndpointMap::iterator &it)
 
uint64_t GetUpdatedSessionFlowBytes (uint64_t info_bytes, uint64_t k_flow_bytes) const
 
uint64_t GetUpdatedSessionFlowPackets (uint64_t info_packets, uint64_t k_flow_pkts) const
 
void FillSessionEvictStats (SessionPreAggInfo::SessionMap::iterator session_map_iter, SessionInfo *session_info, bool is_sampling, bool is_logging) const
 
void FillSessionFlowStats (const SessionFlowStatsParams &stats, SessionFlowInfo *flow_info, bool is_sampling, bool is_logging) const
 
void FillSessionFlowInfo (const SessionFlowStatsInfo &session_flow, const SessionStatsInfo &sinfo, const SessionFlowExportInfo &einfo, SessionFlowInfo *flow_info) const
 
void CopyFlowInfoInternal (SessionFlowExportInfo *info, const boost::uuids::uuid &u, FlowEntry *fe) const
 
void CopyFlowInfo (SessionStatsInfo &session, const RevFlowDepParams *params)
 
void UpdateAggregateStats (const SessionInfo &sinfo, SessionAggInfo *agg_info, bool is_sampling, bool is_logging) const
 
void FillSessionInfoLocked (SessionPreAggInfo::SessionMap::iterator session_map_iter, const SessionStatsParams &stats, SessionInfo *session_info, SessionIpPort *session_key, bool is_sampling, bool is_logging) const
 
void FillSessionInfoUnlocked (SessionPreAggInfo::SessionMap::iterator session_map_iter, const SessionStatsParams &stats, SessionInfo *session_info, SessionIpPort *session_key, const RevFlowDepParams *params, bool read_flow, bool is_sampling, bool is_logging) const
 
void FillSessionAggInfo (SessionEndpointInfo::SessionAggMap::iterator it, SessionIpPortProtocol *session_agg_key) const
 
void FillSessionEndpoint (SessionEndpointMap::iterator it, SessionEndpoint *session_ep) const
 
void FillSessionTags (const TagList &list, SessionEndpoint *ep) const
 
void FillSessionRemoteTags (const TagList &list, SessionEndpoint *ep) const
 
void UpdateSessionFlowStatsInfo (FlowEntry *fe, SessionFlowStatsInfo *session_flow) const
 
void UpdateSessionStatsInfo (FlowEntry *fe, uint64_t setup_time, SessionStatsInfo *session) const
 
void AddSession (FlowEntry *fe, uint64_t setup_time)
 
void DeleteSession (FlowEntry *fe, const boost::uuids::uuid &del_uuid, uint64_t teardown_time, const RevFlowDepParams *params)
 
void EvictedSessionStatsUpdate (const FlowEntryPtr &flow, uint32_t bytes, uint32_t packets, uint32_t oflow_bytes, const boost::uuids::uuid &u)
 
bool GetSessionKey (FlowEntry *fe, SessionAggKey &session_agg_key, SessionKey &session_key, SessionEndpointKey &session_endpoint_key)
 
void AddFlowToSessionMap (FlowEntry *fe, SessionKey session_key, SessionAggKey session_agg_key, SessionEndpointKey session_endpoint_key)
 
void DeleteFlowToSessionMap (FlowEntry *fe)
 
void Shutdown ()
 
void RegisterDBClients ()
 
void AddEvent (const FlowEntryPtr &flow)
 
void DeleteEvent (const FlowEntryPtr &flow, const RevFlowDepParams &params)
 
void UpdateSessionStatsEvent (const FlowEntryPtr &flow, uint32_t bytes, uint32_t packets, uint32_t oflow_bytes, const boost::uuids::uuid &u)
 
bool RequestHandlerEntry ()
 
void RequestHandlerExit (bool done)
 
bool RequestHandler (boost::shared_ptr< SessionStatsReq > req)
 
void EnqueueSessionMsg ()
 
void DispatchPendingSessionMsg ()
 
uint8_t GetSessionMsgIdx ()
 
bool UpdateSloMatchRuleEntry (const boost::uuids::uuid &slo_uuid, const std::string &match_uuid, bool *match)
 
bool CheckPolicyMatch (const SessionSloRuleMap &map, const std::string &policy_uuid, const bool &deleted_flag, bool *match, const bool &exported_once)
 
bool FindSloMatchRule (const SessionSloRuleMap &map, const std::string &fw_policy_uuid, const std::string &nw_policy_uuid, const std::string &sg_policy_uuid, const bool &deleted_flag, bool *match, const bool &exported_once)
 
void GetPolicyIdFromFlow (const FlowEntry *fe, std::string &fw_policy_uuid, std::string &nw_policy_uuid, std::string &sg_policy_uuid)
 
void GetPolicyIdFromDeletedFlow (const SessionFlowExportInfo &flow_info, std::string &fw_policy_uuid, std::string &nw_policy_uuid, std::string &sg_policy_uuid)
 
bool MatchSloForFlow (const SessionStatsInfo &stats_info, const FlowEntry *fe, const std::string &fw_policy_uuid, const std::string &nw_policy_uuid, const std::string &sg_policy_uuid, const bool &deleted_flag, bool *logged, const bool &exported_once)
 
void BuildSloList (const SessionStatsInfo &stats_info, const FlowEntry *fe, SessionSloRuleMap *global_session_slo_rule_map, SessionSloRuleMap *vmi_session_slo_rule_map, SessionSloRuleMap *vn_session_slo_rule_map)
 
void MakeSloList (const FlowEntry *fe, SessionSloRuleMap *vmi_session_slo_rule_map, SessionSloRuleMap *vn_session_slo_rule_map)
 
bool FlowLogging (const SessionStatsInfo &stats_info, const FlowEntry *fe, bool *logged, const bool &exported_once)
 
bool DeletedFlowLogging (const SessionStatsInfo &stats_info, const SessionFlowExportInfo &flow_info, bool *logged, const bool &exported_once)
 
bool HandleDeletedFlowLogging (const SessionStatsInfo &stats_info)
 
bool HandleFlowLogging (const SessionStatsInfo &stats_info)
 
bool CheckSessionLogging (const SessionStatsInfo &stats_info)
 
void AddSloList (const UuidList &slo_list, SessionSloRuleMap *slo_rule_map)
 
void AddSloEntry (const boost::uuids::uuid &uuid, SessionSloRuleMap *slo_rule_map)
 
void AddSloEntryRules (SecurityLoggingObject *slo, SessionSloRuleMap *slo_rule_map)
 
void AddSloFirewallPolicies (SecurityLoggingObject *slo, SessionSloRuleMap *r_map)
 
void AddSloFirewallRules (SecurityLoggingObject *slo, SessionSloRuleMap *rule_map)
 
void AddSloRules (const std::vector< autogen::SecurityLoggingObjectRuleEntryType > &list, SecurityLoggingObject *slo, SessionSloRuleMap *slo_rule_map)
 
void AddSessionSloRuleEntry (const std::string &uuid, int rate, SecurityLoggingObject *slo, SessionSloRuleMap *slo_rule_map)
 
void SloNotify (DBTablePartBase *partition, DBEntryBase *e)
 
void UpdateSloStateRules (SecurityLoggingObject *slo, SessionSloState *state)
 
bool CheckAndDeleteSessionStatsFlow (SessionPreAggInfo::SessionMap::iterator session_map_iter)
 
 DISALLOW_COPY_AND_ASSIGN (SessionStatsCollector)
 

Static Private Member Functions

static uint64_t GetCurrentTime ()
 

Private Attributes

AgentUveBaseagent_uve_
 
int task_id_
 
SessionEndpointKey session_ep_iteration_key_
 
SessionAggKey session_agg_iteration_key_
 
SessionKey session_iteration_key_
 
SessionEndpointMap session_endpoint_map_
 
FlowSessionMap flow_session_map_
 
Queue request_queue_
 
std::vector< SessionEndpoint > session_msg_list_
 
uint8_t session_msg_index_
 
uint32_t instance_id_
 
FlowStatsManagerflow_stats_manager_
 
SessionStatsCollectorObjectparent_
 
SessionTasksession_task_
 
uint64_t current_time_
 
uint64_t session_task_starts_
 
uint32_t session_ep_visited_
 
DBTable::ListenerId slo_listener_id_
 

Friends

class FlowStatsManager
 
class SessionStatsCollectorObject
 

Additional Inherited Members

- Public Attributes inherited from StatsCollector
int run_counter_
 

Detailed Description

Definition at line 166 of file session_stats_collector.h.

Member Typedef Documentation

Definition at line 170 of file session_stats_collector.h.

Definition at line 172 of file session_stats_collector.h.

Constructor & Destructor Documentation

SessionStatsCollector::SessionStatsCollector ( boost::asio::io_context &  io,
AgentUveBase uve,
uint32_t  instance_id,
FlowStatsManager fsm,
SessionStatsCollectorObject obj 
)

Definition at line 29 of file session_stats_collector.cc.

Here is the call graph for this function:

SessionStatsCollector::~SessionStatsCollector ( )
virtual

Definition at line 65 of file session_stats_collector.cc.

Here is the call graph for this function:

Member Function Documentation

void SessionStatsCollector::AddEvent ( const FlowEntryPtr flow)
private

Definition at line 186 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddFlowToSessionMap ( FlowEntry fe,
SessionKey  session_key,
SessionAggKey  session_agg_key,
SessionEndpointKey  session_endpoint_key 
)
private

Definition at line 813 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSession ( FlowEntry fe,
uint64_t  setup_time 
)
private

Definition at line 558 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSessionSloRuleEntry ( const std::string &  uuid,
int  rate,
SecurityLoggingObject slo,
SessionSloRuleMap slo_rule_map 
)
private

Definition at line 904 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloEntry ( const boost::uuids::uuid uuid,
SessionSloRuleMap slo_rule_map 
)
private

Definition at line 966 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloEntryRules ( SecurityLoggingObject slo,
SessionSloRuleMap slo_rule_map 
)
private

Definition at line 959 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloFirewallPolicies ( SecurityLoggingObject slo,
SessionSloRuleMap r_map 
)
private

Definition at line 926 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloFirewallRules ( SecurityLoggingObject slo,
SessionSloRuleMap rule_map 
)
private

Definition at line 948 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloList ( const UuidList slo_list,
SessionSloRuleMap slo_rule_map 
)
private

Definition at line 978 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::AddSloRules ( const std::vector< autogen::SecurityLoggingObjectRuleEntryType > &  list,
SecurityLoggingObject slo,
SessionSloRuleMap slo_rule_map 
)
private

Definition at line 914 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::BuildSloList ( const SessionStatsInfo stats_info,
const FlowEntry fe,
SessionSloRuleMap global_session_slo_rule_map,
SessionSloRuleMap vmi_session_slo_rule_map,
SessionSloRuleMap vn_session_slo_rule_map 
)
private

Definition at line 1008 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::CheckAndDeleteSessionStatsFlow ( SessionPreAggInfo::SessionMap::iterator  session_map_iter)
private

Definition at line 1467 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::CheckPolicyMatch ( const SessionSloRuleMap map,
const std::string &  policy_uuid,
const bool &  deleted_flag,
bool *  match,
const bool &  exported_once 
)
private

Definition at line 1053 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::CheckSessionLogging ( const SessionStatsInfo stats_info)
private

Definition at line 1293 of file session_stats_collector.cc.

Here is the call graph for this function:

int SessionStatsCollector::ComputeSloRate ( int  rate,
SecurityLoggingObject slo 
) const
private

Definition at line 835 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::CopyFlowInfo ( SessionStatsInfo session,
const RevFlowDepParams params 
)
private

Definition at line 1360 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::CopyFlowInfoInternal ( SessionFlowExportInfo info,
const boost::uuids::uuid u,
FlowEntry fe 
) const
private

Definition at line 1344 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::DeletedFlowLogging ( const SessionStatsInfo stats_info,
const SessionFlowExportInfo flow_info,
bool *  logged,
const bool &  exported_once 
)
private

Definition at line 1217 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::DeleteEvent ( const FlowEntryPtr flow,
const RevFlowDepParams params 
)
private

Definition at line 193 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::DeleteFlowToSessionMap ( FlowEntry fe)
private

Definition at line 827 of file session_stats_collector.cc.

void SessionStatsCollector::DeleteSession ( FlowEntry fe,
const boost::uuids::uuid del_uuid,
uint64_t  teardown_time,
const RevFlowDepParams params 
)
private

Definition at line 652 of file session_stats_collector.cc.

Here is the call graph for this function:

SessionStatsCollector::DISALLOW_COPY_AND_ASSIGN ( SessionStatsCollector  )
private
void SessionStatsCollector::DispatchPendingSessionMsg ( )
private

Definition at line 227 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::DispatchSessionMsg ( const std::vector< SessionEndpoint > &  lst)
protectedvirtual

Definition at line 212 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::EnqueueSessionMsg ( )
private

Definition at line 218 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::EvictedSessionStatsUpdate ( const FlowEntryPtr flow,
uint32_t  bytes,
uint32_t  packets,
uint32_t  oflow_bytes,
const boost::uuids::uuid u 
)
private

Definition at line 743 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::FetchFlowStats ( SessionFlowStatsInfo info,
SessionFlowStatsParams params 
) const
private

Definition at line 1501 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::FillSessionAggInfo ( SessionEndpointInfo::SessionAggMap::iterator  it,
SessionIpPortProtocol *  session_agg_key 
) const
private

Definition at line 1701 of file session_stats_collector.cc.

void SessionStatsCollector::FillSessionEndpoint ( SessionEndpointMap::iterator  it,
SessionEndpoint *  session_ep 
) const
private

Definition at line 1759 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::FillSessionEvictStats ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
SessionInfo *  session_info,
bool  is_sampling,
bool  is_logging 
) const
private

Definition at line 1569 of file session_stats_collector.cc.

void SessionStatsCollector::FillSessionFlowInfo ( const SessionFlowStatsInfo session_flow,
const SessionStatsInfo sinfo,
const SessionFlowExportInfo einfo,
SessionFlowInfo *  flow_info 
) const
private

Definition at line 1426 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::FillSessionFlowStats ( const SessionFlowStatsParams stats,
SessionFlowInfo *  flow_info,
bool  is_sampling,
bool  is_logging 
) const
private

Definition at line 1408 of file session_stats_collector.cc.

void SessionStatsCollector::FillSessionInfoLocked ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
const SessionStatsParams stats,
SessionInfo *  session_info,
SessionIpPort *  session_key,
bool  is_sampling,
bool  is_logging 
) const
private

Definition at line 1558 of file session_stats_collector.cc.

void SessionStatsCollector::FillSessionInfoUnlocked ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
const SessionStatsParams stats,
SessionInfo *  session_info,
SessionIpPort *  session_key,
const RevFlowDepParams params,
bool  read_flow,
bool  is_sampling,
bool  is_logging 
) const
private

Definition at line 1596 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::FillSessionRemoteTags ( const TagList list,
SessionEndpoint *  ep 
) const
private

Definition at line 1735 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::FillSessionTags ( const TagList list,
SessionEndpoint *  ep 
) const
private

Definition at line 1711 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::FindSloMatchRule ( const SessionSloRuleMap map,
const std::string &  fw_policy_uuid,
const std::string &  nw_policy_uuid,
const std::string &  sg_policy_uuid,
const bool &  deleted_flag,
bool *  match,
const bool &  exported_once 
)
private

Definition at line 1077 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::FlowLogging ( const SessionStatsInfo stats_info,
const FlowEntry fe,
bool *  logged,
const bool &  exported_once 
)
private

Definition at line 1191 of file session_stats_collector.cc.

Here is the call graph for this function:

uint64_t SessionStatsCollector::GetCurrentTime ( )
staticprivate

Definition at line 69 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::GetPolicyIdFromDeletedFlow ( const SessionFlowExportInfo flow_info,
std::string &  fw_policy_uuid,
std::string &  nw_policy_uuid,
std::string &  sg_policy_uuid 
)
private

Definition at line 1169 of file session_stats_collector.cc.

void SessionStatsCollector::GetPolicyIdFromFlow ( const FlowEntry fe,
std::string &  fw_policy_uuid,
std::string &  nw_policy_uuid,
std::string &  sg_policy_uuid 
)
private

Definition at line 1180 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::GetSessionKey ( FlowEntry fe,
SessionAggKey session_agg_key,
SessionKey session_key,
SessionEndpointKey session_endpoint_key 
)
private

Definition at line 412 of file session_stats_collector.cc.

Here is the call graph for this function:

uint8_t SessionStatsCollector::GetSessionMsgIdx ( )
private

Definition at line 240 of file session_stats_collector.cc.

uint64_t SessionStatsCollector::GetUpdatedSessionFlowBytes ( uint64_t  info_bytes,
uint64_t  k_flow_bytes 
) const
private

Definition at line 1323 of file session_stats_collector.cc.

uint64_t SessionStatsCollector::GetUpdatedSessionFlowPackets ( uint64_t  info_packets,
uint64_t  k_flow_pkts 
) const
private

Definition at line 1333 of file session_stats_collector.cc.

bool SessionStatsCollector::HandleDeletedFlowLogging ( const SessionStatsInfo stats_info)
private

Definition at line 1243 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::HandleFlowLogging ( const SessionStatsInfo stats_info)
private

Definition at line 1267 of file session_stats_collector.cc.

Here is the call graph for this function:

uint32_t SessionStatsCollector::instance_id ( ) const
inline

Definition at line 197 of file session_stats_collector.h.

bool SessionStatsCollector::IsSamplingEnabled ( ) const
private

Definition at line 1995 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::MakeSloList ( const FlowEntry fe,
SessionSloRuleMap vmi_session_slo_rule_map,
SessionSloRuleMap vn_session_slo_rule_map 
)
private

Definition at line 987 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::MatchSloForFlow ( const SessionStatsInfo stats_info,
const FlowEntry fe,
const std::string &  fw_policy_uuid,
const std::string &  nw_policy_uuid,
const std::string &  sg_policy_uuid,
const bool &  deleted_flag,
bool *  logged,
const bool &  exported_once 
)
private

Definition at line 1107 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::ProcessSessionEndpoint ( const SessionEndpointMap::iterator &  it)
private

Definition at line 1784 of file session_stats_collector.cc.

const Queue* SessionStatsCollector::queue ( ) const
inline

Definition at line 198 of file session_stats_collector.h.

void SessionStatsCollector::RegisterDBClients ( )
private

Definition at line 78 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::RequestHandler ( boost::shared_ptr< SessionStatsReq req)
private

Definition at line 254 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::RequestHandlerEntry ( )
private

Definition at line 246 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::RequestHandlerExit ( bool  done)
private

Definition at line 251 of file session_stats_collector.cc.

bool SessionStatsCollector::Run ( void  )
virtual

Implements StatsCollector.

Definition at line 86 of file session_stats_collector.cc.

Here is the call graph for this function:

uint32_t SessionStatsCollector::RunSessionEndpointStats ( uint32_t  max_count)

Definition at line 1924 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::SampleSession ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
SessionStatsParams params 
) const
private

Definition at line 2005 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::SessionStatsChangedLocked ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
SessionStatsParams params 
) const
private

Definition at line 1481 of file session_stats_collector.cc.

bool SessionStatsCollector::SessionStatsChangedUnlocked ( SessionPreAggInfo::SessionMap::iterator  session_map_iter,
SessionStatsParams params 
) const
private

Definition at line 1490 of file session_stats_collector.cc.

void SessionStatsCollector::Shutdown ( void  )
private

Definition at line 73 of file session_stats_collector.cc.

Here is the call graph for this function:

size_t SessionStatsCollector::Size ( ) const
inline

Definition at line 199 of file session_stats_collector.h.

void SessionStatsCollector::SloNotify ( DBTablePartBase partition,
DBEntryBase e 
)
private

Definition at line 883 of file session_stats_collector.cc.

Here is the call graph for this function:

int SessionStatsCollector::task_id ( ) const
inline

Definition at line 196 of file session_stats_collector.h.

uint64_t SessionStatsCollector::threshold ( ) const
private

Definition at line 2087 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::UpdateAggregateStats ( const SessionInfo &  sinfo,
SessionAggInfo *  agg_info,
bool  is_sampling,
bool  is_logging 
) const
private

Definition at line 1674 of file session_stats_collector.cc.

void SessionStatsCollector::UpdateSessionFlowStatsInfo ( FlowEntry fe,
SessionFlowStatsInfo session_flow 
) const
private

Definition at line 507 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::UpdateSessionStatsEvent ( const FlowEntryPtr flow,
uint32_t  bytes,
uint32_t  packets,
uint32_t  oflow_bytes,
const boost::uuids::uuid u 
)
private

Definition at line 201 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::UpdateSessionStatsInfo ( FlowEntry fe,
uint64_t  setup_time,
SessionStatsInfo session 
) const
private

Definition at line 517 of file session_stats_collector.cc.

Here is the call graph for this function:

bool SessionStatsCollector::UpdateSloMatchRuleEntry ( const boost::uuids::uuid slo_uuid,
const std::string &  match_uuid,
bool *  match 
)
private

Definition at line 1034 of file session_stats_collector.cc.

Here is the call graph for this function:

void SessionStatsCollector::UpdateSloStateRules ( SecurityLoggingObject slo,
SessionSloState state 
)
private

Definition at line 845 of file session_stats_collector.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class FlowStatsManager
friend

Definition at line 200 of file session_stats_collector.h.

friend class SessionStatsCollectorObject
friend

Definition at line 201 of file session_stats_collector.h.

Member Data Documentation

AgentUveBase* SessionStatsCollector::agent_uve_
private

Definition at line 380 of file session_stats_collector.h.

uint64_t SessionStatsCollector::current_time_
private

Definition at line 397 of file session_stats_collector.h.

FlowSessionMap SessionStatsCollector::flow_session_map_
private

Definition at line 386 of file session_stats_collector.h.

FlowStatsManager* SessionStatsCollector::flow_stats_manager_
private

Definition at line 391 of file session_stats_collector.h.

uint32_t SessionStatsCollector::instance_id_
private

Definition at line 390 of file session_stats_collector.h.

const uint32_t SessionStatsCollector::kSessionsPerTask = 256
static

Definition at line 175 of file session_stats_collector.h.

const uint32_t SessionStatsCollector::kSessionStatsTimerInterval = 1000
static

Definition at line 174 of file session_stats_collector.h.

SessionStatsCollectorObject* SessionStatsCollector::parent_
private

Definition at line 392 of file session_stats_collector.h.

Queue SessionStatsCollector::request_queue_
private

Definition at line 387 of file session_stats_collector.h.

SessionAggKey SessionStatsCollector::session_agg_iteration_key_
private

Definition at line 383 of file session_stats_collector.h.

SessionEndpointMap SessionStatsCollector::session_endpoint_map_
private

Definition at line 385 of file session_stats_collector.h.

SessionEndpointKey SessionStatsCollector::session_ep_iteration_key_
private

Definition at line 382 of file session_stats_collector.h.

uint32_t SessionStatsCollector::session_ep_visited_
private

Definition at line 399 of file session_stats_collector.h.

SessionKey SessionStatsCollector::session_iteration_key_
private

Definition at line 384 of file session_stats_collector.h.

uint8_t SessionStatsCollector::session_msg_index_
private

Definition at line 389 of file session_stats_collector.h.

std::vector<SessionEndpoint> SessionStatsCollector::session_msg_list_
private

Definition at line 388 of file session_stats_collector.h.

SessionTask* SessionStatsCollector::session_task_
private

Definition at line 393 of file session_stats_collector.h.

uint64_t SessionStatsCollector::session_task_starts_
private

Definition at line 398 of file session_stats_collector.h.

DBTable::ListenerId SessionStatsCollector::slo_listener_id_
private

Definition at line 400 of file session_stats_collector.h.

int SessionStatsCollector::task_id_
private

Definition at line 381 of file session_stats_collector.h.


The documentation for this class was generated from the following files: