// FIXIT-P This incurs locking on all threads to retrieve stats. It
// could be reimplemented to optimize for large thread counts by
// retrieving stats in the command and accumulating in the main thread.
- ModuleManager::accumulate(snort::SnortConfig::get_conf());
+ snort::ModuleManager::accumulate(snort::SnortConfig::get_conf());
}
ACGetStats::~ACGetStats()
#include <set>
#include <list>
+#include "main/snort_types.h"
+
//-------------------------------------------------------------------------
+class Shell;
+
namespace snort
{
struct BaseApi;
class Module;
struct SnortConfig;
-}
-
-class Shell;
class ModuleManager
{
static void init();
static void term();
- static void add_module(snort::Module*, const snort::BaseApi* = nullptr);
- static snort::Module* get_module(const char*);
- static snort::Module* get_default_module(const char*, snort::SnortConfig*);
+ static void add_module(Module*, const BaseApi* = nullptr);
+ SO_PUBLIC static Module* get_module(const char*);
+ static Module* get_default_module(const char*, SnortConfig*);
static const char* get_current_module();
- static std::list<snort::Module*> get_all_modules();
+ SO_PUBLIC static std::list<Module*> get_all_modules();
static void list_modules(const char* = nullptr);
static void dump_modules();
static void dump_defaults(const char* = nullptr);
static void load_commands(Shell*);
- static void load_rules(snort::SnortConfig*);
- static void set_config(snort::SnortConfig*);
- static void reload_module(const char*, snort::SnortConfig*);
+ static void load_rules(SnortConfig*);
+ static void set_config(SnortConfig*);
+ static void reload_module(const char*, SnortConfig*);
static void reset_errors();
static unsigned get_errors();
- static void dump_stats(snort::SnortConfig*, const char* skip = nullptr, bool dynamic = false);
+ static void dump_stats(SnortConfig*, const char* skip = nullptr, bool dynamic = false);
- static void accumulate(snort::SnortConfig*);
- static void reset_stats(snort::SnortConfig*);
+ static void accumulate(SnortConfig*);
+ static void reset_stats(SnortConfig*);
static std::set<uint32_t> gids;
};
+}
extern "C"
{
set( FLATBUFFERS_SOURCE fbs_formatter.h fbs_formatter.cc )
endif()
-add_library ( perf_monitor OBJECT
+set ( FILE_LIST
base_tracker.cc
base_tracker.h
csv_formatter.cc
text_formatter.h
)
+if (STATIC_INSPECTORS)
+ add_library(perf_monitor OBJECT
+ ${FILE_LIST}
+ )
+
+else (STATIC_INSPECTORS)
+ add_dynamic_module(perf_monitor inspectors ${FILE_LIST})
+
+endif (STATIC_INSPECTORS)
+
if ( FLATBUFFERS_FOUND )
target_include_directories( perf_monitor PRIVATE ${FLATBUFFERS_INCLUDE_DIR} )
endif()
+