Versions in this module Expand all Collapse all v1 v1.2.0 May 15, 2026 v1.1.0 May 8, 2026 Changes in this version + var ErrNoPerfTrampoline = errors.New("python activation refused (likely built without --enable-perf-trampoline)") + var ErrNotPython = errors.New("not a python process") + var ErrPythonTooOld = errors.New("python version too old (need 3.12+)") + var ErrStaticallyLinkedNoSymbols = errors.New("python interpreter symbols not resolvable") + func ActivatePayload() []byte + func DeactivatePayload() []byte + type Detector interface + Detect func(pid uint32) (*Target, error) + func NewDetector(procRoot string, log *slog.Logger) Detector + type LowLevelInjector interface + RemoteActivate func(pid uint32, addrs SymbolAddrsForTarget) error + RemoteDeactivate func(pid uint32, addrs SymbolAddrsForTarget) error + type Manager struct + func NewManager(opts Options) *Manager + func (m *Manager) ActivateAll(pids []uint32) error + func (m *Manager) ActivateLate(pid uint32) + func (m *Manager) DeactivateAll(ctx context.Context) + func (m *Manager) Stats() *Stats + type Options struct + DeactivateDeadline time.Duration + Detector Detector + Injector LowLevelInjector + Logger *slog.Logger + StrictPerPID bool + type Stats struct + ActivateFailed atomic.Uint64 + Activated atomic.Uint64 + DeactivateFailed atomic.Uint64 + Deactivated atomic.Uint64 + SkippedNoSymbols atomic.Uint64 + SkippedNoTramp atomic.Uint64 + SkippedNotPython atomic.Uint64 + SkippedTooOld atomic.Uint64 + type SymbolAddrsForTarget struct + PyGILEnsure uint64 + PyGILRelease uint64 + PyRunString uint64 + type Target struct + LibPythonPath string + LoadBase uint64 + Major int + Minor int + PID uint32 + PyGILEnsureAddr uint64 + PyGILReleaseAddr uint64 + PyRunStringAddr uint64