|
OpenSDN source code
|
#include <session_stats_collector.h>


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 Queue * | queue () 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 ¶ms) |
| 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 | |
| AgentUveBase * | agent_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_ |
| FlowStatsManager * | flow_stats_manager_ |
| SessionStatsCollectorObject * | parent_ |
| SessionTask * | session_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_ |
Definition at line 166 of file session_stats_collector.h.
| typedef std::map<FlowEntryPtr, FlowToSessionMap> SessionStatsCollector::FlowSessionMap |
Definition at line 171 of file session_stats_collector.h.
| typedef WorkQueue<boost::shared_ptr<SessionStatsReq> > SessionStatsCollector::Queue |
Definition at line 170 of file session_stats_collector.h.
| typedef std::map<const SessionEndpointKey, SessionEndpointInfo, SessionEndpointKeyCmp> SessionStatsCollector::SessionEndpointMap |
Definition at line 169 of file session_stats_collector.h.
| typedef std::map<std::string, SessionSloRuleEntry> SessionStatsCollector::SessionSloRuleMap |
Definition at line 172 of file session_stats_collector.h.
| SessionStatsCollector::SessionStatsCollector | ( | boost::asio::io_context & | io, |
| AgentUveBase * | uve, | ||
| uint32_t | instance_id, | ||
| FlowStatsManager * | fsm, | ||
| SessionStatsCollectorObject * | obj | ||
| ) |
|
virtual |
|
private |
Definition at line 186 of file session_stats_collector.cc.

|
private |
Definition at line 813 of file session_stats_collector.cc.

|
private |
Definition at line 558 of file session_stats_collector.cc.

|
private |
Definition at line 904 of file session_stats_collector.cc.

|
private |
Definition at line 966 of file session_stats_collector.cc.

|
private |
Definition at line 959 of file session_stats_collector.cc.

|
private |
Definition at line 926 of file session_stats_collector.cc.

|
private |
Definition at line 948 of file session_stats_collector.cc.

|
private |
Definition at line 978 of file session_stats_collector.cc.

|
private |
Definition at line 914 of file session_stats_collector.cc.

|
private |
Definition at line 1008 of file session_stats_collector.cc.

|
private |
Definition at line 1467 of file session_stats_collector.cc.

|
private |
Definition at line 1053 of file session_stats_collector.cc.

|
private |
Definition at line 1293 of file session_stats_collector.cc.

|
private |
Definition at line 835 of file session_stats_collector.cc.

|
private |
Definition at line 1360 of file session_stats_collector.cc.

|
private |
Definition at line 1344 of file session_stats_collector.cc.

|
private |
Definition at line 1217 of file session_stats_collector.cc.

|
private |
Definition at line 193 of file session_stats_collector.cc.

|
private |
Definition at line 827 of file session_stats_collector.cc.
|
private |
Definition at line 652 of file session_stats_collector.cc.

|
private |
|
private |
Definition at line 227 of file session_stats_collector.cc.

|
protectedvirtual |
Definition at line 212 of file session_stats_collector.cc.

|
private |
Definition at line 218 of file session_stats_collector.cc.

|
private |
Definition at line 743 of file session_stats_collector.cc.

|
private |
Definition at line 1500 of file session_stats_collector.cc.

|
private |
Definition at line 1700 of file session_stats_collector.cc.
|
private |
Definition at line 1759 of file session_stats_collector.cc.

|
private |
Definition at line 1568 of file session_stats_collector.cc.
|
private |
Definition at line 1425 of file session_stats_collector.cc.

|
private |
Definition at line 1407 of file session_stats_collector.cc.
|
private |
Definition at line 1557 of file session_stats_collector.cc.

|
private |
Definition at line 1595 of file session_stats_collector.cc.

|
private |
Definition at line 1735 of file session_stats_collector.cc.

|
private |
Definition at line 1711 of file session_stats_collector.cc.

|
private |
Definition at line 1077 of file session_stats_collector.cc.

|
private |
Definition at line 1191 of file session_stats_collector.cc.

|
staticprivate |
|
private |
Definition at line 1169 of file session_stats_collector.cc.
|
private |
Definition at line 1180 of file session_stats_collector.cc.

|
private |
Definition at line 412 of file session_stats_collector.cc.

|
private |
Definition at line 240 of file session_stats_collector.cc.
|
private |
Definition at line 1323 of file session_stats_collector.cc.
|
private |
Definition at line 1333 of file session_stats_collector.cc.
|
private |
Definition at line 1243 of file session_stats_collector.cc.

|
private |
Definition at line 1267 of file session_stats_collector.cc.

|
inline |
Definition at line 197 of file session_stats_collector.h.
|
private |
Definition at line 1995 of file session_stats_collector.cc.

|
private |
Definition at line 987 of file session_stats_collector.cc.

|
private |
Definition at line 1107 of file session_stats_collector.cc.

|
private |
Definition at line 1783 of file session_stats_collector.cc.

|
inline |
Definition at line 198 of file session_stats_collector.h.
|
private |
|
private |
Definition at line 254 of file session_stats_collector.cc.

|
private |
Definition at line 246 of file session_stats_collector.cc.

|
private |
Definition at line 251 of file session_stats_collector.cc.
|
virtual |
Implements StatsCollector.
Definition at line 86 of file session_stats_collector.cc.

| uint32_t SessionStatsCollector::RunSessionEndpointStats | ( | uint32_t | max_count | ) |
Definition at line 1924 of file session_stats_collector.cc.

|
private |
Definition at line 2004 of file session_stats_collector.cc.

|
private |
Definition at line 1480 of file session_stats_collector.cc.

|
private |
Definition at line 1489 of file session_stats_collector.cc.

|
private |
|
inline |
Definition at line 199 of file session_stats_collector.h.
|
private |
Definition at line 883 of file session_stats_collector.cc.

|
inline |
Definition at line 196 of file session_stats_collector.h.
|
private |
Definition at line 2087 of file session_stats_collector.cc.

|
private |
Definition at line 1674 of file session_stats_collector.cc.
|
private |
Definition at line 507 of file session_stats_collector.cc.

|
private |
Definition at line 201 of file session_stats_collector.cc.

|
private |
Definition at line 517 of file session_stats_collector.cc.

|
private |
Definition at line 1034 of file session_stats_collector.cc.

|
private |
Definition at line 845 of file session_stats_collector.cc.

|
friend |
Definition at line 200 of file session_stats_collector.h.
|
friend |
Definition at line 201 of file session_stats_collector.h.
|
private |
Definition at line 380 of file session_stats_collector.h.
|
private |
Definition at line 397 of file session_stats_collector.h.
|
private |
Definition at line 386 of file session_stats_collector.h.
|
private |
Definition at line 391 of file session_stats_collector.h.
|
private |
Definition at line 390 of file session_stats_collector.h.
|
static |
Definition at line 175 of file session_stats_collector.h.
|
static |
Definition at line 174 of file session_stats_collector.h.
|
private |
Definition at line 392 of file session_stats_collector.h.
|
private |
Definition at line 387 of file session_stats_collector.h.
|
private |
Definition at line 383 of file session_stats_collector.h.
|
private |
Definition at line 385 of file session_stats_collector.h.
|
private |
Definition at line 382 of file session_stats_collector.h.
|
private |
Definition at line 399 of file session_stats_collector.h.
|
private |
Definition at line 384 of file session_stats_collector.h.
|
private |
Definition at line 389 of file session_stats_collector.h.
|
private |
Definition at line 388 of file session_stats_collector.h.
|
private |
Definition at line 393 of file session_stats_collector.h.
|
private |
Definition at line 398 of file session_stats_collector.h.
|
private |
Definition at line 400 of file session_stats_collector.h.
|
private |
Definition at line 381 of file session_stats_collector.h.