metrics

package
v1.10.8 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// AppReconcileStageDurationHistogram report staged reconcile time for application
	AppReconcileStageDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Name:        "kubevela_app_reconcile_time_seconds",
		Help:        "application reconcile time costs.",
		Buckets:     velametrics.FineGrainedBuckets,
		ConstLabels: prometheus.Labels{},
	}, []string{"stage"})

	// ApplicationReconcileTimeHistogram report the reconciling time cost of application controller with state transition recorded
	ApplicationReconcileTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Name:        "application_reconcile_time_seconds",
		Help:        "application reconcile duration distributions.",
		Buckets:     velametrics.FineGrainedBuckets,
		ConstLabels: prometheus.Labels{},
	}, []string{"begin_phase", "end_phase"})

	// ApplyComponentTimeHistogram report the time cost of applyComponentFunc
	ApplyComponentTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Name:        "apply_component_time_seconds",
		Help:        "apply component duration distributions.",
		Buckets:     velametrics.FineGrainedBuckets,
		ConstLabels: prometheus.Labels{},
	}, []string{"stage"})

	// WorkflowFinishedTimeHistogram report the time for finished workflow
	WorkflowFinishedTimeHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Name:        "workflow_finished_time_seconds",
		Help:        "workflow finished time distributions.",
		Buckets:     velametrics.FineGrainedBuckets,
		ConstLabels: prometheus.Labels{},
	}, []string{"phase"})

	// ApplicationPhaseCounter report the number of application phase
	ApplicationPhaseCounter = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "application_phase_number",
		Help: "application phase number",
	}, []string{"phase"})

	// WorkflowStepPhaseGauge report the number of workflow step state
	WorkflowStepPhaseGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "workflow_step_phase_number",
		Help: "workflow step phase number",
	}, []string{"step_type", "phase"})

	// ApplicationHealthStatus reports the overall health status of each application
	ApplicationHealthStatus = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "kubevela_application_health_status",
		Help: "Application health status (1 = healthy, 0 = unhealthy)",
	}, []string{"app_name", "namespace"})

	// ApplicationPhase reports the numeric phase of each application
	ApplicationPhase = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "kubevela_application_phase",
		Help: "Application phase as numeric value (0=starting, 1=running, 2=rendering, 3=policy_generating, 4=running_workflow, " +
			"5=workflow_suspending, 6=workflow_terminated, 7=workflow_failed, 8=unhealthy, 9=deleting, " +
			"-1=unknown)",
	}, []string{"app_name", "namespace"})

	// WorkflowPhase reports the numeric phase of each workflow
	WorkflowPhase = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "kubevela_application_workflow_phase",
		Help: "Workflow phase as numeric value (0=initializing, 1=succeeded, 2=executing, 3=suspending, 4=terminated, " +
			"5=failed, 6=skipped, -1=unknown)",
	}, []string{"app_name", "namespace"})
)
View Source
var (
	// ClusterIsConnectedGauge report if the cluster is connected
	ClusterIsConnectedGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "cluster_isconnected",
		Help: "if cluster is connected.",
	}, []string{"cluster"})

	// ClusterWorkerNumberGauge report the number of WorkerNumber in cluster
	ClusterWorkerNumberGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_worker_node_number",
		Help:        "cluster worker node number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterMasterNumberGauge report the number of MasterNumber in cluster
	ClusterMasterNumberGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_master_node_number",
		Help:        "cluster master node number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterMemoryCapacityGauge report the number of MemoryCapacity in cluster
	ClusterMemoryCapacityGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_memory_capacity",
		Help:        "cluster memory capacity number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterCPUCapacityGauge report the number of CPUCapacity in cluster
	ClusterCPUCapacityGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_cpu_capacity",
		Help:        "cluster cpu capacity number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterPodCapacityGauge report the number of PodCapacity in cluster
	ClusterPodCapacityGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_pod_capacity",
		Help:        "cluster pod capacity number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterMemoryAllocatableGauge report the number of MemoryAllocatable in cluster
	ClusterMemoryAllocatableGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_memory_allocatable",
		Help:        "cluster memory allocatable number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterCPUAllocatableGauge report the number of CPUAllocatable in cluster
	ClusterCPUAllocatableGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_cpu_allocatable",
		Help:        "cluster cpu allocatable number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterPodAllocatableGauge report the number of PodAllocatable in cluster
	ClusterPodAllocatableGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_pod_allocatable",
		Help:        "cluster pod allocatable number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterMemoryUsageGauge report the number of MemoryUsage in cluster
	ClusterMemoryUsageGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_memory_usage",
		Help:        "cluster memory usage number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})

	// ClusterCPUUsageGauge report the number of CPUUsage in cluster
	ClusterCPUUsageGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name:        "cluster_cpu_usage",
		Help:        "cluster cpu usage number.",
		ConstLabels: prometheus.Labels{},
	}, []string{"cluster"})
)
View Source
var (
	// ListResourceTrackerCounter report the list resource tracker number.
	ListResourceTrackerCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Name: "list_resourcetracker_num",
		Help: "list resourceTrackers times.",
	}, []string{"controller"})
)
View Source
var (
	// StepDurationHistogram report the step execution duration.
	StepDurationHistogram = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Name:        "step_duration_ms",
		Help:        "step latency distributions.",
		Buckets:     velametrics.FineGrainedBuckets,
		ConstLabels: prometheus.Labels{},
	}, []string{"controller", "step_type"})
)

Functions

func RegisterApplicationStatusMetrics added in v1.10.4

func RegisterApplicationStatusMetrics()

RegisterApplicationStatusMetrics registers the application status metrics This should be called after the feature gate system is initialized

Types

This section is empty.

Jump to

Keyboard shortcuts

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