summaryrefslogtreecommitdiff
path: root/internal/probemanager/manager.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-06 16:55:17 +0200
committerPaul Buetow <paul@buetow.org>2026-03-06 16:55:17 +0200
commitaf72e1023b7a27c137b7ace1cf1a83108e6dc7ba (patch)
tree4ebc60b0d0278a4e1353ce7d1cdb4dd8ce37ba68 /internal/probemanager/manager.go
parentff85779d14a70825588a80cae33d234153196162 (diff)
docs: add missing godoc comments for exported APIs (task 382)
Diffstat (limited to 'internal/probemanager/manager.go')
-rw-r--r--internal/probemanager/manager.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/probemanager/manager.go b/internal/probemanager/manager.go
index b991c7c..7feb407 100644
--- a/internal/probemanager/manager.go
+++ b/internal/probemanager/manager.go
@@ -50,6 +50,7 @@ type Manager struct {
closed bool
}
+// NewManager creates a new probe manager that resolves programs via attacher.
func NewManager(attacher Attacher) *Manager {
return &Manager{
attacher: attacher,
@@ -57,6 +58,7 @@ func NewManager(attacher Attacher) *Manager {
}
}
+// Register registers the enter/exit tracepoint pair for a syscall key.
func (m *Manager) Register(syscall string, pair TracepointPair) {
if m == nil || syscall == "" {
return
@@ -74,6 +76,7 @@ func (m *Manager) Register(syscall string, pair TracepointPair) {
entry.exitTP = pair.Exit
}
+// AttachAll registers and attaches all tracepoint pairs selected by shouldAttach.
func (m *Manager) AttachAll(shouldAttach func(string) bool, tpNames []string) error {
if m == nil {
return errors.New("probe manager is nil")
@@ -95,6 +98,7 @@ func (m *Manager) AttachAll(shouldAttach func(string) bool, tpNames []string) er
return nil
}
+// Toggle flips a syscall probe between attached and detached states.
func (m *Manager) Toggle(syscall string) error {
if m == nil {
return errors.New("probe manager is nil")
@@ -118,6 +122,7 @@ func (m *Manager) Toggle(syscall string) error {
return m.Attach(syscall)
}
+// Attach attaches enter/exit tracepoints for a registered syscall.
func (m *Manager) Attach(syscall string) error {
if syscall == "" {
return errors.New("syscall is required")
@@ -167,6 +172,7 @@ func (m *Manager) Attach(syscall string) error {
return nil
}
+// Detach detaches enter/exit tracepoints for a registered syscall.
func (m *Manager) Detach(syscall string) error {
if syscall == "" {
return errors.New("syscall is required")
@@ -220,6 +226,7 @@ func (m *Manager) Detach(syscall string) error {
return combined
}
+// States returns a stable snapshot of all known probe states.
func (m *Manager) States() []ProbeState {
if m == nil {
return nil
@@ -243,6 +250,7 @@ func (m *Manager) States() []ProbeState {
return out
}
+// ActiveCount returns the number of active probes and total registered probes.
func (m *Manager) ActiveCount() (active, total int) {
if m == nil {
return 0, 0
@@ -276,6 +284,7 @@ func (m *Manager) IsActive(syscall string) bool {
return entry.active
}
+// Close detaches all registered probes and marks the manager closed.
func (m *Manager) Close() error {
if m == nil {
return nil