metrics

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: GPL-3.0 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 {
	// Jobs.
	JobsCreated   *prometheus.CounterVec
	JobsTriggered *prometheus.CounterVec
	JobsCompleted *prometheus.CounterVec
	JobsFailed    *prometheus.CounterVec
	JobsCancelled *prometheus.CounterVec

	// Queue.
	QueueSize *prometheus.GaugeVec

	// Runners.
	RunnersTotal  *prometheus.GaugeVec
	RunnersOnline *prometheus.GaugeVec
	RunnersBusy   *prometheus.GaugeVec

	// HTTP.
	HTTPRequestsTotal   *prometheus.CounterVec
	HTTPRequestDuration *prometheus.HistogramVec

	// Dispatcher.
	DispatcherCyclesTotal     prometheus.Counter
	DispatcherDispatchesTotal prometheus.Counter
	DispatcherErrorsTotal     prometheus.Counter
	DispatcherLastCycleTime   prometheus.Gauge

	// GitHub API.
	GitHubAPIRequestsTotal   *prometheus.CounterVec
	GitHubAPIErrorsTotal     *prometheus.CounterVec
	GitHubRateLimitRemaining prometheus.Gauge

	// Build info.
	BuildInfo *prometheus.GaugeVec
}

Metrics contains all Prometheus metrics for dispatchoor.

func New

func New() *Metrics

New creates a new Metrics instance and registers all metrics.

func (*Metrics) RecordDispatch

func (m *Metrics) RecordDispatch()

RecordDispatch records a successful dispatch.

func (*Metrics) RecordDispatcherCycle

func (m *Metrics) RecordDispatcherCycle()

RecordDispatcherCycle records a dispatcher cycle.

func (*Metrics) RecordDispatcherError

func (m *Metrics) RecordDispatcherError()

RecordDispatcherError records a dispatcher error.

func (*Metrics) RecordGitHubAPIError

func (m *Metrics) RecordGitHubAPIError(endpoint string)

RecordGitHubAPIError records a GitHub API error.

func (*Metrics) RecordGitHubAPIRequest

func (m *Metrics) RecordGitHubAPIRequest(endpoint string)

RecordGitHubAPIRequest records a GitHub API request.

func (*Metrics) RecordHTTPRequest

func (m *Metrics) RecordHTTPRequest(method, path, status string, duration float64)

RecordHTTPRequest records an HTTP request.

func (*Metrics) RecordJobCancelled

func (m *Metrics) RecordJobCancelled(group string)

RecordJobCancelled increments the jobs cancelled counter.

func (*Metrics) RecordJobCompleted

func (m *Metrics) RecordJobCompleted(group string)

RecordJobCompleted increments the jobs completed counter.

func (*Metrics) RecordJobCreated

func (m *Metrics) RecordJobCreated(group string)

RecordJobCreated increments the jobs created counter.

func (*Metrics) RecordJobFailed

func (m *Metrics) RecordJobFailed(group string)

RecordJobFailed increments the jobs failed counter.

func (*Metrics) RecordJobTriggered

func (m *Metrics) RecordJobTriggered(group string)

RecordJobTriggered increments the jobs triggered counter.

func (*Metrics) SetBuildInfo

func (m *Metrics) SetBuildInfo(version, commit, date string)

SetBuildInfo sets the build info metric.

func (*Metrics) SetGitHubRateLimit

func (m *Metrics) SetGitHubRateLimit(remaining float64)

SetGitHubRateLimit sets the GitHub rate limit remaining gauge.

func (*Metrics) SetQueueSize

func (m *Metrics) SetQueueSize(group, status string, size float64)

SetQueueSize sets the queue size gauge.

func (*Metrics) SetRunnerCounts

func (m *Metrics) SetRunnerCounts(group string, total, online, busy float64)

SetRunnerCounts sets runner count gauges.

Jump to

Keyboard shortcuts

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