]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4185: main: make "reset_stats" command ignore SnortModule peg counters
authorYehor Velykozhon -X (yvelykoz - SOFTSERVE INC at Cisco) <yvelykoz@cisco.com>
Mon, 26 Feb 2024 13:43:04 +0000 (13:43 +0000)
committerOleksii. Shumeiko -X (oshumeik - SOFTSERVE INC at Cisco) <oshumeik@cisco.com>
Mon, 26 Feb 2024 13:43:04 +0000 (13:43 +0000)
Merge in SNORT/snort3 from ~YVELYKOZ/snort3:global_counters to master

Squashed commit of the following:

commit 650effed988e6f87f2d7d5c19c6fc9e7f13ee3a8
Author: Yehor Velykozhon <yvelykoz@cisco.com>
Date:   Tue Jan 30 16:05:15 2024 +0200

    main: reset main-thread stats from the main thread

src/main/analyzer_command.cc
src/main/snort_module.cc

index 0c594b39d5bd9edced3e52a54e807cd87e3c932e..8e5dc8023518c5054599d804b564ff459a3ee172 100644 (file)
@@ -139,8 +139,14 @@ ACResetStats::ACResetStats(clear_counter_type_t requested_type_l) : requested_ty
 
 ACResetStats::~ACResetStats()
 {
+    // Destructor is called only from main thread,
+    // main-thread stats are reset here.
+
     if (requested_type == TYPE_MODULE or requested_type == TYPE_ALL)
         ModuleManager::reset_module_stats("memory");
+
+    if (requested_type == TYPE_SNORT or requested_type == TYPE_ALL)
+        ModuleManager::reset_module_stats("snort");
 }
 
 bool ACSwap::execute(Analyzer& analyzer, void** ac_state)
index 54c189b8204e514f63dc5c9299a3b796b809d41e..3c7069d281f131f44ab9696a6dc252b0b573f4ae 100644 (file)
@@ -690,6 +690,12 @@ public:
     void sum_stats(bool) override
     { }  // accumulate externally
 
+    void reset_stats() override
+    {
+        if (snort::in_main_thread())
+            Module::reset_stats();
+    }
+
     ProfileStats* get_profile(unsigned, const char*&, const char*&) const override;
 
     Usage get_usage() const override