metrics

package
v3.4.3 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SuccessTrue indicates that the operation was successful.
	SuccessTrue string = "true"
	// SuccessFalse indicates that the operation was not successful.
	SuccessFalse string = "false"

	// SuccessKey defines the key of the metric label indicating success/failure of an operation.
	SuccessKey string = "success"
)
View Source
const (
	// ProtocolDBLess indicates that configuration was sent to Kong using the DB-less protocol (POST /config).
	ProtocolDBLess Protocol = "db-less"
	// ProtocolDeck indicates that configuration was sent to Kong using the DB mode protocol (deck sync).
	ProtocolDeck Protocol = "deck"

	// ProtocolKey defines the key of the metric label indicating which protocol KIC used to configure Kong.
	ProtocolKey string = "protocol"
)
View Source
const (
	// FailureReasonConflict indicates that the config push failed due to configuration conflicts.
	FailureReasonConflict string = "conflict"

	// FailureReasonNetwork indicates that the config push failed due to network issues.
	FailureReasonNetwork string = "network"

	// FailureReasonOther indicates that the config push failed due to other reasons.
	FailureReasonOther string = "other"

	// FailureReasonKey defines the key of the metric label indicating failure reason.
	FailureReasonKey string = "failure_reason"
)
View Source
const (
	MetricNameConfigPushCount            = "ingress_controller_configuration_push_count"
	MetricNameConfigPushBrokenResources  = "ingress_controller_configuration_push_broken_resource_count"
	MetricNameConfigPushSuccessTime      = "ingress_controller_configuration_push_last_successful"
	MetricNameConfigPushSize             = "ingress_controller_configuration_push_size"
	MetricNameTranslationCount           = "ingress_controller_translation_count"
	MetricNameTranslationBrokenResources = "ingress_controller_translation_broken_resource_count"
	MetricNameTranslationDuration        = "ingress_controller_translation_duration_milliseconds"
	MetricNameConfigPushDuration         = "ingress_controller_configuration_push_duration_milliseconds"
)

Regular config push metrics names.

View Source
const (
	MetricNameFallbackTranslationCount           = "ingress_controller_fallback_translation_count"
	MetricNameFallbackTranslationBrokenResources = "ingress_controller_fallback_translation_broken_resource_count"
	MetricNameFallbackTranslationDuration        = "ingress_controller_fallback_translation_duration_milliseconds"
	MetricNameFallbackConfigPushSize             = "ingress_controller_fallback_configuration_push_size"
	MetricNameFallbackConfigPushCount            = "ingress_controller_fallback_configuration_push_count"
	MetricNameFallbackConfigPushSuccessTime      = "ingress_controller_fallback_configuration_push_last"
	MetricNameFallbackConfigPushDuration         = "ingress_controller_fallback_configuration_push_duration_milliseconds"
	MetricNameFallbackConfigPushBrokenResources  = "ingress_controller_fallback_configuration_push_broken_resource_count"
	MetricNameFallbackCacheGenerationDuration    = "ingress_controller_fallback_cache_generation_duration_milliseconds"
	MetricNameProcessedConfigSnapshotCacheHit    = "ingress_controller_processed_config_snapshot_cache_hit"
	MetricNameProcessedConfigSnapshotCacheMiss   = "ingress_controller_processed_config_snapshot_cache_miss"
)

Fallback config push metrics names.

View Source
const (
	// DataplaneKey defines the name of the metric label indicating which dataplane this time series is relevant for.
	DataplaneKey string = "dataplane"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GlobalCtrlRuntimeMetricsRecorder added in v3.4.1

type GlobalCtrlRuntimeMetricsRecorder struct{}

GlobalCtrlRuntimeMetricsRecorder is a metrics recorder that uses a global Prometheus registry provided by the controller-runtime. Any instance of it will record metrics to the same registry.

We want to expose KIC's custom metrics on the same endpoint as controller-runtime's built-in ones. Because of that, we have to use its global registry as CR doesn't allow injecting a custom one. Upstream issue regarding this: https://github.com/kubernetes-sigs/controller-runtime/issues/210.

func NewGlobalCtrlRuntimeMetricsRecorder added in v3.4.1

func NewGlobalCtrlRuntimeMetricsRecorder() *GlobalCtrlRuntimeMetricsRecorder

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackCacheGenerationDuration added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackCacheGenerationDuration(d time.Duration, err error)

RecordFallbackCacheGenerationDuration records the duration of a fallback cache generation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushFailure added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushFailure(
	p Protocol, duration time.Duration, size mo.Option[int], dataplane string, brokenResourcesCount int, err error,
)

RecordFallbackPushFailure records a failed fallback configuration push.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushSuccess added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushSuccess(
	p Protocol, duration time.Duration, size mo.Option[int], dataplane string,
)

RecordFallbackPushSuccess records a successful fallback configuration push.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationBrokenResources added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationBrokenResources(count int)

RecordFallbackTranslationBrokenResources records the number of fallback resources failing translation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationFailure added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationFailure(duration time.Duration)

RecordFallbackTranslationFailure records a failed fallback configuration translation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationSuccess added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationSuccess(duration time.Duration)

RecordFallbackTranslationSuccess records a failed fallback configuration translation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheHit added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheHit()

RecordProcessedConfigSnapshotCacheHit records a hit on the processed config snapshot cache.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheMiss added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheMiss()

RecordProcessedConfigSnapshotCacheMiss records a miss on the processed config snapshot cache.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordPushFailure added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordPushFailure(p Protocol, d time.Duration, size mo.Option[int], dataplane string, count int, err error)

RecordPushFailure records a failed configuration push.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordPushSuccess added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordPushSuccess(p Protocol, d time.Duration, size mo.Option[int], dataplane string)

RecordPushSuccess records a successful configuration push.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordTranslationBrokenResources added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationBrokenResources(count int)

RecordTranslationBrokenResources records the number of resources failing translation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordTranslationFailure added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationFailure(duration time.Duration)

RecordTranslationFailure records a failed configuration translation.

func (*GlobalCtrlRuntimeMetricsRecorder) RecordTranslationSuccess added in v3.4.1

func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationSuccess(duration time.Duration)

RecordTranslationSuccess records a successful configuration translation.

type Protocol

type Protocol string

type Recorder added in v3.4.1

type Recorder interface {
	RecordPushFailure(p Protocol, duration time.Duration, size mo.Option[int], dataplane string, brokenResourcesCount int, err error)
	RecordPushSuccess(protocol Protocol, duration time.Duration, size mo.Option[int], target string)
	RecordFallbackPushSuccess(protocol Protocol, duration time.Duration, size mo.Option[int], target string)
	RecordFallbackPushFailure(protocol Protocol, duration time.Duration, size mo.Option[int], target string, failedResources int, err error)
	RecordProcessedConfigSnapshotCacheHit()
	RecordProcessedConfigSnapshotCacheMiss()
	RecordTranslationFailure(duration time.Duration)
	RecordTranslationBrokenResources(count int)
	RecordTranslationSuccess(duration time.Duration)
	RecordFallbackTranslationBrokenResources(count int)
	RecordFallbackTranslationFailure(duration time.Duration)
	RecordFallbackTranslationSuccess(duration time.Duration)
	RecordFallbackCacheGenerationDuration(since time.Duration, err error)
}

Recorder is an interface for recording metrics.

Jump to

Keyboard shortcuts

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