metrics

package
v2.7.15 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2023 License: Apache-2.0 Imports: 24 Imported by: 3

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