input

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package input provides shoot kube-apiserver (ShootKapi) application metrics

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CLIConfig

type CLIConfig struct {
	ScrapePeriod            time.Duration // How often do we scrape a given pod
	ScrapeFlowControlPeriod time.Duration // How often do we adjust the level of scraping parallelism

	// If two consecutive metrics samples are closer than this, they are considered to not provide sufficient
	// differential (rate) calculation accuracy, and are not used as a pair (each may still be used, paired with other
	// samples).
	MinSampleGap time.Duration

	// PodController contains Pod controller configuration.
	PodController *ControllerConfig
	// SecretController contains Secret controller configuration.
	SecretController *ControllerConfig
}

CLIConfig is a completed configuration, result of successfully parsing and processing CLI options. It contains configuration which directs the processing of data on which custom metrics are based.

type CLIOptions

type CLIOptions struct {

	// For the meaning of the different option fields, see the CLIConfig type, which mirrors these fields
	ScrapePeriod            time.Duration
	ScrapeFlowControlPeriod time.Duration
	MinSampleGap            time.Duration

	// PodController contains Pod controller options.
	PodController *ControllerOptions
	// SecretController contains Secret controller options.
	SecretController *ControllerOptions
	// contains filtered or unexported fields
}

CLIOptions are command line options related to processing the data on which custom metrics are based.

func NewCLIOptions

func NewCLIOptions() *CLIOptions

NewCLIOptions creates a CLIOptions object with default values

func (*CLIOptions) AddFlags

func (options *CLIOptions) AddFlags(flags *pflag.FlagSet)

AddFlags implements github.com/gardener/gardener/extensions/pkg/controller/cmd.Flagger.AddFlags.

func (*CLIOptions) Complete

func (options *CLIOptions) Complete() error

Complete implements github.com/gardener/gardener/extensions/pkg/controller/cmd.Completer.Complete.

func (*CLIOptions) Completed

func (options *CLIOptions) Completed() *CLIConfig

Completed returns the final, processed values of the options. Only call this if `Complete` was successful.

type ControllerConfig

type ControllerConfig struct {
	// MaxConcurrentReconciles is the maximum number of concurrent reconciles.
	MaxConcurrentReconciles int
}

ControllerConfig is a completed controller configuration.

func (*ControllerConfig) Apply

func (c *ControllerConfig) Apply(opts *controller.Options)

Apply sets the values of this ControllerConfig in the given AddOptions.

type ControllerOptions

type ControllerOptions struct {
	// MaxConcurrentReconciles are the maximum concurrent reconciles.
	MaxConcurrentReconciles int
	// contains filtered or unexported fields
}

ControllerOptions are command line options that can be set for controller.Options.

func (*ControllerOptions) AddFlags

func (c *ControllerOptions) AddFlags(fs *pflag.FlagSet, prefix string)

AddFlags implements Flagger.AddFlags.

func (*ControllerOptions) Complete

func (c *ControllerOptions) Complete() error

Complete implements Completer.Complete.

func (*ControllerOptions) Completed

func (c *ControllerOptions) Completed() *ControllerConfig

Completed returns the completed ControllerConfig. Only call this if `Complete` was successful.

type InputDataService

type InputDataService interface {
	// DataSource returns an interface for consuming metrics provided by the InputDataService
	DataSource() input_data_registry.InputDataSource
	// AddToManager adds all of InputDataService's underlying data gathering activities to the specified manager.
	AddToManager(manager kmgr.Manager) error
}

InputDataService is the main type of the input package. It provides application metrics for the kube-apiserver (Kapi) pods of all shoots on a single seed.

To crete instances, use NewInputDataService().

type InputDataServiceFactory

type InputDataServiceFactory struct {
	// contains filtered or unexported fields
}

InputDataServiceFactory creates InputDataService instances. It allows replacing certain functions, to support test isolation.

func NewInputDataServiceFactory

func NewInputDataServiceFactory() *InputDataServiceFactory

NewInputDataServiceFactory creates an InputDataServiceFactory instance.

func (*InputDataServiceFactory) NewInputDataService

func (f *InputDataServiceFactory) NewInputDataService(cliConfig *CLIConfig, parentLogger logr.Logger) InputDataService

NewInputDataService creates an InputDataService instance, based on a CLIConfig object which represents command line preferences which control behavior.

Directories

Path Synopsis
pod
Package input_data_registry holds application metrics from shoot kube-apiserver (Kapi) pods and information necessary to scrape such metrics.
Package input_data_registry holds application metrics from shoot kube-apiserver (Kapi) pods and information necessary to scrape such metrics.

Jump to

Keyboard shortcuts

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