runtime

package
v0.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

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 NewGoModule

func NewGoModule() *GoModule

NewGoModule creates a new Go runtime module.

func (*GoModule) Active

func (m *GoModule) Active() bool

func (*GoModule) Collect

func (m *GoModule) Collect() []model.RuntimeProcessMetrics

func (*GoModule) Detect

func (m *GoModule) Detect(processes []model.ProcessMetrics) bool

func (*GoModule) DisplayName

func (m *GoModule) DisplayName() string

func (*GoModule) Name

func (m *GoModule) Name() string

func (*GoModule) ProcessCount

func (m *GoModule) ProcessCount() int

type JVMModule

type JVMModule struct {
	// contains filtered or unexported fields
}

JVMModule detects JVM processes via /tmp/hsperfdata_* files.

func NewJVMModule

func NewJVMModule() *JVMModule

NewJVMModule creates a new JVM runtime module.

func (*JVMModule) Active

func (m *JVMModule) Active() bool

func (*JVMModule) Collect

func (m *JVMModule) Collect() []model.RuntimeProcessMetrics

func (*JVMModule) Detect

func (m *JVMModule) Detect(processes []model.ProcessMetrics) bool

func (*JVMModule) DisplayName

func (m *JVMModule) DisplayName() string

func (*JVMModule) Name

func (m *JVMModule) Name() string

func (*JVMModule) ProcessCount

func (m *JVMModule) ProcessCount() int

type JVMPerfData

type JVMPerfData struct {
	Counters map[string]int64
}

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 NewManager

func NewManager() *Manager

NewManager creates a new runtime detection manager.

func (*Manager) ActiveModules

func (m *Manager) ActiveModules() []string

ActiveModules returns the names of currently active runtime modules.

func (*Manager) Collect

func (m *Manager) Collect(snap *model.Snapshot) error

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) Name

func (m *Manager) Name() string

Name returns the collector name.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL