Help us shape the future of Go! Take the 2026 Go Developer Survey

metrics

package
v2.5.3 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MetricsPath is the endpoint to collect application metrics
	MetricsPath = "/metrics"
	// EnvVarLegacyControllerMetrics is a env var to re-enable deprecated prometheus metrics
	EnvVarLegacyControllerMetrics = "ARGOCD_LEGACY_CONTROLLER_METRICS"
)
View Source
const (
	WorkQueueSubsystem         = "workqueue"
	DepthKey                   = "depth"
	AddsKey                    = "adds_total"
	QueueLatencyKey            = "queue_duration_seconds"
	WorkDurationKey            = "work_duration_seconds"
	UnfinishedWorkKey          = "unfinished_work_seconds"
	LongestRunningProcessorKey = "longest_running_processor_seconds"
	RetriesKey                 = "retries_total"
)

Variables

This section is empty.

Functions

func AddMetricsTransportWrapper

func AddMetricsTransportWrapper(server *MetricsServer, app *v1alpha1.Application, config *rest.Config) *rest.Config

AddMetricsTransportWrapper adds a transport wrapper which increments 'argocd_app_k8s_request_total' counter on each kubernetes request

func NewAppCollector

func NewAppCollector(appLister applister.ApplicationLister, appFilter func(obj interface{}) bool, appLabels []string) prometheus.Collector

NewAppCollector returns a prometheus collector for application metrics

func NewAppRegistry

func NewAppRegistry(appLister applister.ApplicationLister, appFilter func(obj interface{}) bool, appLabels []string) *prometheus.Registry

NewAppRegistry creates a new prometheus registry that collects applications

Types

type HasClustersInfo

type HasClustersInfo interface {
	GetClustersInfo() []cache.ClusterInfo
}

type MetricsServer

type MetricsServer struct {
	*http.Server
	// contains filtered or unexported fields
}

func NewMetricsServer

func NewMetricsServer(addr string, appLister applister.ApplicationLister, appFilter func(obj interface{}) bool, healthCheck func(r *http.Request) error, appLabels []string) (*MetricsServer, error)

NewMetricsServer returns a new prometheus server which collects application metrics

func (*MetricsServer) DecKubectlExecPending

func (m *MetricsServer) DecKubectlExecPending(command string)

func (*MetricsServer) HasExpiration

func (m *MetricsServer) HasExpiration() bool

HasExpiration return true if expiration is set

func (*MetricsServer) IncClusterEventsCount

func (m *MetricsServer) IncClusterEventsCount(server, group, kind string)

IncClusterEventsCount increments the number of cluster events

func (*MetricsServer) IncKubectlExec

func (m *MetricsServer) IncKubectlExec(command string)

func (*MetricsServer) IncKubectlExecPending

func (m *MetricsServer) IncKubectlExecPending(command string)

func (*MetricsServer) IncKubernetesRequest

func (m *MetricsServer) IncKubernetesRequest(app *argoappv1.Application, server, statusCode, verb, resourceKind, resourceNamespace string)

IncKubernetesRequest increments the kubernetes requests counter for an application

func (*MetricsServer) IncReconcile

func (m *MetricsServer) IncReconcile(app *argoappv1.Application, duration time.Duration)

IncReconcile increments the reconcile counter for an application

func (*MetricsServer) IncRedisRequest

func (m *MetricsServer) IncRedisRequest(failed bool)

func (*MetricsServer) IncSync

func (m *MetricsServer) IncSync(app *argoappv1.Application, state *argoappv1.OperationState)

IncSync increments the sync counter for an application

func (*MetricsServer) ObserveRedisRequestDuration

func (m *MetricsServer) ObserveRedisRequestDuration(duration time.Duration)

ObserveRedisRequestDuration observes redis request duration

func (*MetricsServer) RegisterClustersInfoSource

func (m *MetricsServer) RegisterClustersInfoSource(ctx context.Context, source HasClustersInfo)

func (*MetricsServer) SetExpiration

func (m *MetricsServer) SetExpiration(cacheExpiration time.Duration) error

SetExpiration reset Prometheus metrics based on time duration interval

Jump to

Keyboard shortcuts

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