]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #689 in SNORT/snort3 from perf-mon-breaks-counts to master
authorRuss Combs (rucombs) <rucombs@cisco.com>
Thu, 3 Nov 2016 22:34:05 +0000 (18:34 -0400)
committerRuss Combs (rucombs) <rucombs@cisco.com>
Thu, 3 Nov 2016 22:34:05 +0000 (18:34 -0400)
Squashed commit of the following:

commit 5b402fa8461b9ec22e43b618559797c2aa8a794d
Author: Victor Roemer <viroemer@cisco.com>
Date:   Tue Oct 25 14:29:35 2016 -0400

    Fix shutdown stats, break perf_mon interval stats

13 files changed:
src/framework/module.h
src/network_inspectors/perf_monitor/base_tracker.cc
src/stream/file/file_module.cc
src/stream/file/file_module.h
src/stream/icmp/icmp_module.cc
src/stream/icmp/icmp_module.h
src/stream/ip/ip_module.cc
src/stream/ip/ip_module.h
src/stream/tcp/tcp_module.cc
src/stream/tcp/tcp_module.h
src/stream/udp/udp_module.cc
src/stream/udp/udp_module.h
src/utils/stats.h

index 17e78aa08cfe903565a505a4e6035143113542e7..2946ec231a435f93a97b17d5b97a6511e58bad20 100644 (file)
@@ -163,6 +163,9 @@ private:
     friend class ModuleManager;
     void init(const char*, const char* = nullptr);
 
+    std::vector<PegCount> counts;
+    int num_counts;
+
     const char* name;
     const char* help;
 
@@ -170,8 +173,6 @@ private:
     const Parameter* default_params = nullptr;
     bool list;
 
-    std::vector<PegCount> counts;
-    int num_counts;
     Trace* trace;
 };
 
index 195a0b3ef8b921bcd31120f165c945810bc7724e..502f2cf7f6dedb8790b2817dd07b60932c36677f 100644 (file)
@@ -32,18 +32,18 @@ using namespace std;
 
 #define BASE_FILE (PERF_NAME ".csv")
 
-BaseTracker::BaseTracker(PerfConfig* perf) : PerfTracker(perf,
-    perf->output == PERF_FILE ? BASE_FILE : nullptr)
+BaseTracker::BaseTracker(PerfConfig* perf)
+    : PerfTracker(perf, perf->output == PERF_FILE ? BASE_FILE : nullptr)
 {
     for (unsigned i = 0; i < config->modules.size(); i++)
     {
         Module *m = config->modules.at(i);
-        vector<unsigned> peg_map = config->mod_peg_idxs.at(i);
+        IndexVec peg_map = config->mod_peg_idxs.at(i);
 
         formatter->register_section(m->get_name());
-        for (auto& idx : peg_map)
-             formatter->register_field(m->get_pegs()[idx].name,
-                &(m->get_counts()[idx]));
+
+        for (auto const& i : peg_map)
+            formatter->register_field(m->get_pegs()[i].name, &(m->get_counts()[i]));
     }
     formatter->finalize_fields();
 }
@@ -52,9 +52,9 @@ void BaseTracker::process(bool summary)
 {
     write();
 
-    for (unsigned i = 0; i < config->modules.size(); i++)
+    for ( auto const& m : config->modules )
         if (!summary)
-            config->modules.at(i)->sum_stats();
+            m->sum_stats();
 }
 
 #ifdef UNIT_TEST
index 9de2ba204d3b50170ae2497557b005134d8b8775..9d0a8ddfe7c228bd1d61d7496ab483dd722c649c 100644 (file)
@@ -43,14 +43,6 @@ StreamFileModule::StreamFileModule() :
 
 StreamFileModule::~StreamFileModule() { }
 
-#if 0
-const PegInfo* StreamFileModule::get_pegs() const
-{ return file_pegs; }
-
-PegCount* StreamFileModule::get_counts() const
-{ return (PegCount*)&file_stats; }
-#endif
-
 bool StreamFileModule::begin(const char*, int, SnortConfig*)
 {
     upload = false;
index 81e9f4f5dc239384872127650c6329c08a4331aa..0301128bcd0ee420ecec72f24a5be3cca6b8728a 100644 (file)
@@ -43,11 +43,6 @@ public:
     StreamFileModule();
     ~StreamFileModule();
 
-#if 0
-    const PegInfo* get_pegs() const override;
-    PegCount* get_counts() const override;
-#endif
-
     bool begin(const char*, int, SnortConfig*) override;
     bool set(const char*, Value&, SnortConfig*) override;
 
index a470b23aab6177622a1b942d60fa00af9b78be5b..cd79707a9f3304f8d73e0629150c65c0ed08bda4 100644 (file)
@@ -91,14 +91,3 @@ const PegInfo* StreamIcmpModule::get_pegs() const
 
 PegCount* StreamIcmpModule::get_counts() const
 { return (PegCount*)&icmpStats; }
-
-void StreamIcmpModule::sum_stats()
-{
-    PegCount sessions = icmpStats.sessions;
-
-    Module::sum_stats();
-
-    icmpStats.sessions = sessions;
-    icmpStats.max = sessions;
-}
-
index eb664c0e65648f48bc4983c12aa76cb1b7ae9e6a..fae11a0cfad3125c41f9d8de81c7d4dee0b08d3e 100644 (file)
@@ -60,8 +60,6 @@ public:
 
     StreamIcmpConfig* get_data();
 
-    void sum_stats() override;
-
 private:
     StreamIcmpConfig* config;
 };
index 30d04b08a1163279b5001b153a9da7810336d9d4..28eca68bdc1bc226d886aa06b9c9f175e7f939c4 100644 (file)
@@ -217,15 +217,3 @@ const PegInfo* StreamIpModule::get_pegs() const
 PegCount* StreamIpModule::get_counts() const
 { return (PegCount*)&ip_stats; }
 
-void StreamIpModule::sum_stats()
-{
-    PegCount sessions = ip_stats.sessions;
-    PegCount current = ip_stats.current;
-
-    Module::sum_stats();
-
-    ip_stats.sessions = sessions;
-    ip_stats.max = sessions;
-    ip_stats.current = current;
-}
-
index 6d440effae5760d7ef12bfd13d927a1bc2144a91..f71daa904089b9241b2dd32b49f9b03b3a2852bf 100644 (file)
@@ -116,8 +116,6 @@ public:
     unsigned get_gid() const override
     { return GID_DEFRAG; }
 
-    void sum_stats() override;
-
 private:
     StreamIpConfig* config;
 };
index 670f86e68befddda2de0ab5396b1321ce64fae7b..97524a3b4c4a3a61498bfc1e938598ab698d289d 100644 (file)
@@ -365,20 +365,3 @@ const PegInfo* StreamTcpModule::get_pegs() const
 PegCount* StreamTcpModule::get_counts() const
 { return (PegCount*)&tcpStats; }
 
-void StreamTcpModule::sum_stats()
-{
-    // FIXIT-L is there a way these session pegs can be derived from other pegs?
-    PegCount init = tcpStats.sessions_initializing;
-    PegCount est = tcpStats.sessions_established;
-    PegCount closing = tcpStats.sessions_closing;
-    PegCount sessions = tcpStats.sessions;
-
-    Module::sum_stats();
-
-    tcpStats.sessions_initializing = init;
-    tcpStats.sessions_established = est;
-    tcpStats.sessions_closing = closing;
-    tcpStats.sessions = sessions;
-    tcpStats.max = sessions;
-}
-
index 1dd5b18624c8114b298e859c7d46fa30cf6e638e..a55dde178bc783ae8eb8321f738b244f186df9f3 100644 (file)
@@ -135,7 +135,6 @@ public:
     ProfileStats* get_profile(unsigned, const char*&, const char*&) const override;
     const PegInfo* get_pegs() const override;
     PegCount* get_counts() const override;
-    void sum_stats() override;
 
 private:
     TcpStreamConfig* config;
index 939fb0281690ef5e57a17ba737e704e93805c370..0d0247c6b085f1dfe815cec4adf6a63da163a5e3 100644 (file)
@@ -97,14 +97,3 @@ const PegInfo* StreamUdpModule::get_pegs() const
 
 PegCount* StreamUdpModule::get_counts() const
 { return (PegCount*)&udpStats; }
-
-void StreamUdpModule::sum_stats()
-{
-    PegCount sessions = udpStats.sessions;
-
-    Module::sum_stats();
-
-    udpStats.sessions = sessions;
-    udpStats.max = sessions;
-}
-
index 9d52f303d6ffdbc7d58ca86235d80c86fb74eb60..d3dce14fbfccca9dfe17cbd55bb3d71ac32dbcea 100644 (file)
@@ -62,8 +62,6 @@ public:
     PegCount* get_counts() const override;
     StreamUdpConfig* get_data();
 
-    void sum_stats() override;
-
 private:
     StreamUdpConfig* config;
 };
index 4a98a84443ee4b8db4fdc3a8984779aadeb420f9..50d4c3db671d7be07390ddf2df40aaeb0dfe787c 100644 (file)
@@ -35,7 +35,7 @@
 #include "main/snort_types.h"
 #include "framework/counts.h"
 
-typedef std::vector<unsigned> IndexVec;
+using IndexVec = std::vector<unsigned>;
 
 // FIXIT-L split this out into appropriate modules
 struct PacketCount