definition

package
v3.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IntegrationPopulator

func IntegrationPopulator(config *IntegrationPopulateConfig) (bool, []error)

IntegrationPopulator populates an integration with the given metrics and definition.

Types

type EntityIDGeneratorFunc

type EntityIDGeneratorFunc func(groupLabel, rawEntityID string, g RawGroups) (string, error)

EntityIDGeneratorFunc generates an entity ID.

type EntityTypeGeneratorFunc

type EntityTypeGeneratorFunc func(groupLabel, rawEntityID string, g RawGroups, prefix string) (string, error)

EntityTypeGeneratorFunc generates an entity type.

type FetchFunc

type FetchFunc func(groupLabel, entityID string, groups RawGroups) (FetchedValue, error)

FetchFunc fetches values or values from raw metric groups. Return FetchedValues if you want to prototype metrics.

func FromRaw

func FromRaw(metricKey string) FetchFunc

FromRaw fetches metrics from raw metrics. Is the most simple use case.

func Transform

func Transform(fetchFunc FetchFunc, transformFunc TransformFunc) FetchFunc

Transform return a new FetchFunc that applies the transformFunc to the result of the fetchFunc passed as argument

type FetchedValue

type FetchedValue interface{}

FetchedValue is just any value from an already fetched metric.

type FetchedValues

type FetchedValues map[string]FetchedValue

FetchedValues is a map of FetchedValue indexed by metric name.

type GuessFunc

type GuessFunc func(clusterName, groupLabel, entityID string, groups RawGroups) (string, error)

GuessFunc guesses from data.

type IntegrationPopulateConfig

type IntegrationPopulateConfig struct {
	Integration   *integration.Integration
	ClusterName   string
	K8sVersion    fmt.Stringer
	MsTypeGuesser GuessFunc
	Groups        RawGroups
	Specs         SpecGroups
	Filterer      discovery.NamespaceFilterer
}

type NamespaceGetterFunc added in v3.3.0

type NamespaceGetterFunc func(metrics RawMetrics) string

NamespaceGetterFunc gets the namespace.

type RawGroups

type RawGroups map[string]map[string]RawMetrics

RawGroups are grouped raw metrics. map[entityType][entityName][metricName]metricValue as interface{}

type RawMetrics

type RawMetrics map[string]RawValue

RawMetrics is a map of RawValue indexed by metric name.

type RawValue

type RawValue interface{}

RawValue is just any value from a raw metric.

type Spec

type Spec struct {
	Name      string
	ValueFunc FetchFunc
	Type      metric.SourceType
	Optional  bool
}

Spec is a metric specification.

type SpecGroup

type SpecGroup struct {
	IDGenerator     EntityIDGeneratorFunc
	TypeGenerator   EntityTypeGeneratorFunc
	NamespaceGetter NamespaceGetterFunc
	Specs           []Spec
}

SpecGroup represents a bunch of specs that share logic.

type SpecGroups

type SpecGroups map[string]SpecGroup

SpecGroups is a map of groups indexed by group name.

type TransformFunc

type TransformFunc func(FetchedValue) (FetchedValue, error)

TransformFunc transforms a FetchedValue.

Jump to

Keyboard shortcuts

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