From 3bbae8dd6aaafd413fdc82232529d1ec3e3e5e37 Mon Sep 17 00:00:00 2001 From: Roberto Scolaro Date: Tue, 2 Apr 2024 09:59:22 +0000 Subject: [PATCH] new(libsinsp): add api for clean suppress comms and tids Signed-off-by: Roberto Scolaro --- userspace/libsinsp/sinsp.cpp | 10 ++++++++++ userspace/libsinsp/sinsp.h | 4 ++++ userspace/libsinsp/sinsp_suppress.cpp | 10 ++++++++++ userspace/libsinsp/sinsp_suppress.h | 6 +++++- 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/userspace/libsinsp/sinsp.cpp b/userspace/libsinsp/sinsp.cpp index 92d2381a58a..7fab81e4167 100644 --- a/userspace/libsinsp/sinsp.cpp +++ b/userspace/libsinsp/sinsp.cpp @@ -1424,6 +1424,16 @@ bool sinsp::suppress_events_tid(int64_t tid) return true; } +void sinsp::clear_suppress_events_comm() +{ + m_suppress.clear_suppress_comm(); +} + +void sinsp::clear_suppress_events_tid() +{ + m_suppress.clear_suppress_tid(); +} + bool sinsp::check_suppressed(int64_t tid) const { return m_suppress.is_suppressed_tid(tid); diff --git a/userspace/libsinsp/sinsp.h b/userspace/libsinsp/sinsp.h index 794a16438a1..6df7276a2ef 100644 --- a/userspace/libsinsp/sinsp.h +++ b/userspace/libsinsp/sinsp.h @@ -912,6 +912,10 @@ class SINSP_PUBLIC sinsp : public capture_stats_source bool suppress_events_tid(int64_t tid); + void clear_suppress_events_comm(); + + void clear_suppress_events_tid(); + bool check_suppressed(int64_t tid) const; void set_docker_socket_path(std::string socket_path); diff --git a/userspace/libsinsp/sinsp_suppress.cpp b/userspace/libsinsp/sinsp_suppress.cpp index 63c8451f5d8..23ea336dfe8 100644 --- a/userspace/libsinsp/sinsp_suppress.cpp +++ b/userspace/libsinsp/sinsp_suppress.cpp @@ -32,6 +32,16 @@ void libsinsp::sinsp_suppress::suppress_tid(uint64_t tid) m_suppressed_tids.emplace(tid); } +void libsinsp::sinsp_suppress::clear_suppress_comm() +{ + m_suppressed_comms.clear(); +} + +void libsinsp::sinsp_suppress::clear_suppress_tid() +{ + m_suppressed_tids.clear(); +} + bool libsinsp::sinsp_suppress::check_suppressed_comm(uint64_t tid, const std::string &comm) { if(m_suppressed_comms.find(comm) != m_suppressed_comms.end()) diff --git a/userspace/libsinsp/sinsp_suppress.h b/userspace/libsinsp/sinsp_suppress.h index 5f1526392ba..f5df45cff3e 100644 --- a/userspace/libsinsp/sinsp_suppress.h +++ b/userspace/libsinsp/sinsp_suppress.h @@ -36,6 +36,10 @@ class sinsp_suppress void suppress_tid(uint64_t tid); + void clear_suppress_comm(); + + void clear_suppress_tid(); + bool check_suppressed_comm(uint64_t tid, const std::string& comm); int32_t process_event(scap_evt* e); @@ -53,4 +57,4 @@ class sinsp_suppress uint64_t m_num_suppressed_events = 0; }; -} \ No newline at end of file +}