metrics

package
v0.2.0-beta1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EnterpriseInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsEnterpriseSubsystem,
		Name:      "info",
		Help:      "Info of the enterprise",
	}, []string{"name", "id"})

	EnterprisePoolManagerStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsEnterpriseSubsystem,
		Name:      "pool_manager_status",
		Help:      "Status of the enterprise pool manager",
	}, []string{"name", "id", "running"})
)
View Source
var (
	GithubOperationCount = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "operations_total",
		Help:      "Total number of github operation attempts",
	}, []string{"operation", "scope"})

	GithubOperationFailedCount = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "errors_total",
		Help:      "Total number of failed github operation attempts",
	}, []string{"operation", "scope"})

	// GitHub rate limit metrics
	GithubRateLimitLimit = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "rate_limit_limit",
		Help:      "The maximum number of requests allowed per hour for GitHub API",
	}, []string{"credential_name", "credential_id", "endpoint"})

	GithubRateLimitRemaining = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "rate_limit_remaining",
		Help:      "The number of requests remaining in the current rate limit window",
	}, []string{"credential_name", "credential_id", "endpoint"})

	GithubRateLimitUsed = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "rate_limit_used",
		Help:      "The number of requests used in the current rate limit window",
	}, []string{"credential_name", "credential_id", "endpoint"})

	GithubRateLimitResetTimestamp = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsGithubSubsystem,
		Name:      "rate_limit_reset_timestamp",
		Help:      "Unix timestamp when the rate limit resets",
	}, []string{"credential_name", "credential_id", "endpoint"})
)
View Source
var (
	InstanceStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsRunnerSubsystem,
		Name:      "status",
		Help:      "Status of the instance",
	}, []string{"name", "status", "runner_status", "pool_owner", "pool_type", "pool_id", "provider"})

	InstanceOperationCount = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsRunnerSubsystem,
		Name:      "operations_total",
		Help:      "Total number of instance operation attempts",
	}, []string{"operation", "provider"})

	InstanceOperationFailedCount = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsRunnerSubsystem,
		Name:      "errors_total",
		Help:      "Total number of failed instance operation attempts",
	}, []string{"operation", "provider"})
)
View Source
var (
	OrganizationInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsOrganizationSubsystem,
		Name:      "info",
		Help:      "Info of the organization",
	}, []string{"name", "id"})

	OrganizationPoolManagerStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsOrganizationSubsystem,
		Name:      "pool_manager_status",
		Help:      "Status of the organization pool manager",
	}, []string{"name", "id", "running"})
)
View Source
var (
	PoolInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsPoolSubsystem,
		Name:      "info",
		Help:      "Info of the pool",
	}, []string{"id", "image", "flavor", "prefix", "os_type", "os_arch", "tags", "provider", "pool_owner", "pool_type"})

	PoolStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsPoolSubsystem,
		Name:      "status",
		Help:      "Status of the pool",
	}, []string{"id", "enabled"})

	PoolMaxRunners = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsPoolSubsystem,
		Name:      "max_runners",
		Help:      "Maximum number of runners in the pool",
	}, []string{"id"})

	PoolMinIdleRunners = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsPoolSubsystem,
		Name:      "min_idle_runners",
		Help:      "Minimum number of idle runners in the pool",
	}, []string{"id"})

	PoolBootstrapTimeout = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsPoolSubsystem,
		Name:      "bootstrap_timeout",
		Help:      "Runner bootstrap timeout in the pool",
	}, []string{"id"})
)
View Source
var (
	RepositoryInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsRepositorySubsystem,
		Name:      "info",
		Help:      "Info of the enterprise",
	}, []string{"name", "id"})

	RepositoryPoolManagerStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Namespace: metricsNamespace,
		Subsystem: metricsRepositorySubsystem,
		Name:      "pool_manager_status",
		Help:      "Status of the enterprise pool manager",
	}, []string{"name", "id", "running"})
)
View Source
var GarmHealth = prometheus.NewGaugeVec(prometheus.GaugeOpts{
	Namespace: metricsNamespace,
	Name:      "health",
	Help:      "Health of the garm",
}, []string{"metadata_url", "callback_url", "webhook_url", "controller_webhook_url", "controller_id"})
View Source
var JobStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
	Namespace: metricsNamespace,
	Subsystem: metricsJobsSubsystem,
	Name:      "status",
	Help:      "List of workflow jobs and their status",
}, []string{
	"job_id",
	"workflow_job_id",
	"scaleset_job_id",
	"workflow_run_id",
	"name",
	"status",
	"conclusion",
	"runner_name",
	"owner",
	"repository",
	"requested_labels",
})
View Source
var ProviderInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
	Namespace: metricsNamespace,
	Subsystem: metricsProviderSubsystem,
	Name:      "info",
	Help:      "Info of the organization",
}, []string{"name", "type", "description"})
View Source
var WebhooksReceived = prometheus.NewCounterVec(prometheus.CounterOpts{
	Namespace: metricsNamespace,
	Subsystem: metricsWebhookSubsystem,
	Name:      "received",
	Help:      "The total number of webhooks received",
}, []string{"valid", "reason"})

Functions

func Bool2float64 added in v0.1.5

func Bool2float64(b bool) float64

func RegisterMetrics added in v0.1.5

func RegisterMetrics() error

RegisterMetrics registers all the metrics

Types

This section is empty.

Jump to

Keyboard shortcuts

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