metrics

package
v0.0.1-dev.3 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2025 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Metrics

type Metrics struct {
	// Task metrics
	TasksSubmitted  atomic.Int64
	TasksCompleted  atomic.Int64
	TasksFailed     atomic.Int64
	TasksCancelled  atomic.Int64
	TasksInProgress atomic.Int64
	TasksQueued     atomic.Int64

	// Queue metrics
	QueueSize    atomic.Int64
	QueueLatency atomic.Int64 // in nanoseconds

	// Worker metrics
	ActiveWorkers     atomic.Int64
	IdleWorkers       atomic.Int64
	WorkerUtilization atomic.Uint64 // percentage * 100 (to avoid floating point)

	// Performance metrics
	AverageTaskTime atomic.Int64 // in nanoseconds
	TotalTaskTime   atomic.Int64 // in nanoseconds
	TaskCount       atomic.Int64
}

Metrics tracks various metrics for the worker package

func NewMetrics

func NewMetrics() *Metrics

NewMetrics creates a new metrics instance

func (*Metrics) GetWorkerUtilization

func (m *Metrics) GetWorkerUtilization() float64

GetWorkerUtilization returns the worker utilization as a percentage

func (*Metrics) RecordTaskCancellation

func (m *Metrics) RecordTaskCancellation()

RecordTaskCancellation records a task cancellation

func (*Metrics) RecordTaskCompletion

func (m *Metrics) RecordTaskCompletion(duration time.Duration)

RecordTaskCompletion records the completion of a task

func (*Metrics) RecordTaskFailure

func (m *Metrics) RecordTaskFailure()

RecordTaskFailure records a task failure

func (*Metrics) RecordTaskStart

func (m *Metrics) RecordTaskStart()

RecordTaskStart records the start of a task

func (*Metrics) RecordTaskSubmission

func (m *Metrics) RecordTaskSubmission()

RecordTaskSubmission records a task submission

func (*Metrics) Reset

func (m *Metrics) Reset()

Reset resets all metrics to zero

func (*Metrics) UpdateQueueMetrics

func (m *Metrics) UpdateQueueMetrics(size int64, latency time.Duration)

UpdateQueueMetrics updates queue-related metrics

func (*Metrics) UpdateWorkerMetrics

func (m *Metrics) UpdateWorkerMetrics(active, idle int64)

UpdateWorkerMetrics updates worker-related metrics

Jump to

Keyboard shortcuts

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