Documentation
¶
Index ¶
- Constants
- type GlobalCtrlRuntimeMetricsRecorder
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackCacheGenerationDuration(d time.Duration, err error)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushFailure(p Protocol, duration time.Duration, size mo.Option[int], dataplane string, ...)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackPushSuccess(p Protocol, duration time.Duration, size mo.Option[int], dataplane string)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationBrokenResources(count int)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationFailure(duration time.Duration)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordFallbackTranslationSuccess(duration time.Duration)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheHit()
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordProcessedConfigSnapshotCacheMiss()
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordPushFailure(p Protocol, d time.Duration, size mo.Option[int], dataplane string, count int, ...)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordPushSuccess(p Protocol, d time.Duration, size mo.Option[int], dataplane string)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationBrokenResources(count int)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationFailure(duration time.Duration)
- func (c *GlobalCtrlRuntimeMetricsRecorder) RecordTranslationSuccess(duration time.Duration)
- type Protocol
- type Recorder
Constants ¶
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" )
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" )
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" )
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.
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.
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 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.