monitoring

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package monitoring provides metrics and monitoring for the scheduler.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Metrics

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

Metrics tracks scheduler metrics.

func NewMetrics

func NewMetrics() *Metrics

NewMetrics creates a new Metrics instance.

func (*Metrics) GetStats

func (m *Metrics) GetStats() Stats

GetStats returns the current metrics as a Stats struct.

func (*Metrics) RecordJobCancelled

func (m *Metrics) RecordJobCancelled(taskType string)

RecordJobCancelled records a job cancellation event.

func (*Metrics) RecordJobCompleted

func (m *Metrics) RecordJobCompleted(taskType string, duration time.Duration)

RecordJobCompleted records a job completion event.

func (*Metrics) RecordJobEnqueued

func (m *Metrics) RecordJobEnqueued(taskType string)

RecordJobEnqueued records a job enqueue event.

func (*Metrics) RecordJobFailed

func (m *Metrics) RecordJobFailed(taskType string)

RecordJobFailed records a job failure event.

func (*Metrics) RecordJobRetrying

func (m *Metrics) RecordJobRetrying(taskType string)

RecordJobRetrying records a job retry event.

func (*Metrics) RecordJobScheduled

func (m *Metrics) RecordJobScheduled(taskType string)

RecordJobScheduled records a job schedule event.

func (*Metrics) RecordJobStarted

func (m *Metrics) RecordJobStarted(taskType string)

RecordJobStarted records a job start event.

func (*Metrics) Reset

func (m *Metrics) Reset()

Reset resets all metrics to zero.

type Stats

type Stats struct {
	JobsEnqueued   int64                   `json:"jobs_enqueued"`
	JobsScheduled  int64                   `json:"jobs_scheduled"`
	JobsStarted    int64                   `json:"jobs_started"`
	JobsCompleted  int64                   `json:"jobs_completed"`
	JobsFailed     int64                   `json:"jobs_failed"`
	JobsCancelled  int64                   `json:"jobs_cancelled"`
	JobsRetrying   int64                   `json:"jobs_retrying"`
	TotalProcessed int64                   `json:"total_processed"`
	SuccessRate    float64                 `json:"success_rate"`
	AvgDuration    time.Duration           `json:"avg_duration"`
	Uptime         time.Duration           `json:"uptime"`
	TaskTypeStats  map[string]TaskTypeStat `json:"task_type_stats"`
}

Stats represents scheduler statistics.

type TaskTypeMetrics

type TaskTypeMetrics struct {
	Enqueued      int64
	Completed     int64
	Failed        int64
	TotalDuration int64 // in nanoseconds
	Count         int64
}

TaskTypeMetrics tracks metrics for a specific task type.

type TaskTypeStat

type TaskTypeStat struct {
	Enqueued    int64         `json:"enqueued"`
	Completed   int64         `json:"completed"`
	Failed      int64         `json:"failed"`
	SuccessRate float64       `json:"success_rate"`
	AvgDuration time.Duration `json:"avg_duration"`
}

TaskTypeStat represents statistics for a specific task type.

Jump to

Keyboard shortcuts

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