metrics

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ProcessCPUPercent = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "process_cpu_percent",
			Help: "How many percent of the cpu time process uses.",
		},
		[]string{"hostname", "pid", "pid_name", "ppid"},
	)

	ProcessMemoryPercent = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "process_memory_percent",
			Help: "How many percent of the memory process uses.",
		},
		[]string{"hostname", "pid", "pid_name", "ppid"},
	)

	ProcessMemoryRSS = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "process_memory_rss",
			Help: "How many rss of the memory process uses.",
		},
		[]string{"hostname", "pid", "pid_name", "ppid"},
	)

	ProcessRequestDuration = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Name:    "process_request_duration_seconds",
			Help:    "Process request duration in seconds.",
			Buckets: []float64{.01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10},
		},
		[]string{"hostname", "pid", "pid_name", "ppid"},
	)

	ProcessPerRequestDuration = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "process_per_request_duration_seconds",
			Help: "Process per request duration in seconds.",
		},
		[]string{"hostname", "pid", "pid_name", "ppid", "trace_id"},
	)
)

Functions

func InitProcessMetricsServer

func InitProcessMetricsServer(listenAddress string) <-chan error

func RecordProcessRequestMetrics

func RecordProcessRequestMetrics(pid int32, traceID string, duration float64) error

func RecordProcessResourceUsageMetrics

func RecordProcessResourceUsageMetrics(pid int32) error

Types

type CPUInfo

type CPUInfo struct {
	CPUPercent float64
}

type MemoryInfo

type MemoryInfo struct {
	MemoryPercent float32
	*process.MemoryInfoStat
}

type ProcessInfo

type ProcessInfo struct {
	Pid         int32
	ParentPid   int32
	ProcessName string
	CPUInfo     *CPUInfo
	MemoryInfo  *MemoryInfo
}

func CollectProcessInfo

func CollectProcessInfo(pid int32) (*ProcessInfo, error)

Jump to

Keyboard shortcuts

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