Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetSkipDetection ¶
func SetSkipDetection(v bool)
SetSkipDetection lets the engine flip the skip flag once per tick.
Types ¶
type DotNetModule ¶
type DotNetModule struct {
// contains filtered or unexported fields
}
DotNetModule wraps the existing collector/dotnet package as a RuntimeModule.
func NewDotNetModule ¶
func NewDotNetModule() *DotNetModule
NewDotNetModule creates a new .NET runtime module.
func (*DotNetModule) Active ¶
func (m *DotNetModule) Active() bool
func (*DotNetModule) Collect ¶
func (m *DotNetModule) Collect() []model.RuntimeProcessMetrics
func (*DotNetModule) Detect ¶
func (m *DotNetModule) Detect(processes []model.ProcessMetrics) bool
func (*DotNetModule) DisplayName ¶
func (m *DotNetModule) DisplayName() string
func (*DotNetModule) Name ¶
func (m *DotNetModule) Name() string
func (*DotNetModule) ProcessCount ¶
func (m *DotNetModule) ProcessCount() int
type GoModule ¶
type GoModule struct {
// contains filtered or unexported fields
}
GoModule detects Go runtime processes by known binary names or GOMAXPROCS env.
func (*GoModule) Collect ¶
func (m *GoModule) Collect() []model.RuntimeProcessMetrics
func (*GoModule) DisplayName ¶
func (*GoModule) ProcessCount ¶
type JVMModule ¶
type JVMModule struct {
// contains filtered or unexported fields
}
JVMModule detects JVM processes via /tmp/hsperfdata_* files.
func (*JVMModule) Collect ¶
func (m *JVMModule) Collect() []model.RuntimeProcessMetrics
func (*JVMModule) DisplayName ¶
func (*JVMModule) ProcessCount ¶
type JVMPerfData ¶
JVMPerfData holds parsed JVM performance counters.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is a collector that manages all runtime detection modules. It implements collector.Collector so it can be registered with the engine.
func (*Manager) ActiveModules ¶
ActiveModules returns the names of currently active runtime modules.
func (*Manager) Collect ¶
Collect runs detection (every 30s) and collection (every tick for active modules). It populates snap.Global.Runtimes and maintains backward compat with snap.Global.DotNet.
func (*Manager) Register ¶
func (m *Manager) Register(mod RuntimeModule)
Register adds a runtime module to the manager.
type NodeModule ¶
type NodeModule struct {
// contains filtered or unexported fields
}
NodeModule detects Node.js processes by comm name.
func NewNodeModule ¶
func NewNodeModule() *NodeModule
NewNodeModule creates a new Node.js runtime module.
func (*NodeModule) Active ¶
func (m *NodeModule) Active() bool
func (*NodeModule) Collect ¶
func (m *NodeModule) Collect() []model.RuntimeProcessMetrics
func (*NodeModule) Detect ¶
func (m *NodeModule) Detect(processes []model.ProcessMetrics) bool
func (*NodeModule) DisplayName ¶
func (m *NodeModule) DisplayName() string
func (*NodeModule) Name ¶
func (m *NodeModule) Name() string
func (*NodeModule) ProcessCount ¶
func (m *NodeModule) ProcessCount() int
type PythonModule ¶
type PythonModule struct {
// contains filtered or unexported fields
}
PythonModule detects Python processes by comm name.
func NewPythonModule ¶
func NewPythonModule() *PythonModule
NewPythonModule creates a new Python runtime module.
func (*PythonModule) Active ¶
func (m *PythonModule) Active() bool
func (*PythonModule) Collect ¶
func (m *PythonModule) Collect() []model.RuntimeProcessMetrics
func (*PythonModule) Detect ¶
func (m *PythonModule) Detect(processes []model.ProcessMetrics) bool
func (*PythonModule) DisplayName ¶
func (m *PythonModule) DisplayName() string
func (*PythonModule) Name ¶
func (m *PythonModule) Name() string
func (*PythonModule) ProcessCount ¶
func (m *PythonModule) ProcessCount() int
type RuntimeModule ¶
type RuntimeModule interface {
Name() string // "jvm", "dotnet", etc.
DisplayName() string // "JVM", ".NET", etc.
Detect(processes []model.ProcessMetrics) bool // scan for runtime processes
Collect() []model.RuntimeProcessMetrics // gather metrics (only if active)
Active() bool // any processes detected?
ProcessCount() int
}
RuntimeModule is the interface for a language runtime detection module.