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 InstanceID
 - 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 ( // DataplaneKey defines the name of the metric label indicating which dataplane this time series is relevant for. DataplaneKey string = "dataplane" // InstanceIDKey defines the name of the metric label indicating which instance of the controller this time series is relevant for. InstanceIDKey string = "instance_id" )
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.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GlobalCtrlRuntimeMetricsRecorder ¶ added in v3.4.1
type GlobalCtrlRuntimeMetricsRecorder struct {
	// contains filtered or unexported fields
}
    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(instanceID InstanceID) *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 InstanceID ¶ added in v3.4.4
type InstanceID interface {
	String() string
}
    InstanceID is an interface for a controller manager instance identifier.
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.