cfg

package
v0.2.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//go:embed defaults.yaml
	DefaultMetrics []byte
)

Functions

func ConvertHeaders

func ConvertHeaders(headers []string, header *http.Header)

ConvertHeaders takes a list of `key=value` headers and adds those trimmed to the specified header struct. It ignores any malformed entries.

Types

type Configuration

type Configuration struct {
	Log struct {
		Level   string
		Verbose bool
	}
	ISG struct {
		URL            string
		Timeout        time.Duration
		Headers        []string `koanf:"header"`
		DefinitionPath string
	}
	BindAddr string `koanf:"bindaddr"`
}

Configuration holds a strongly-typed tree of the configuration

func NewDefaultExporterConfig

func NewDefaultExporterConfig() *Configuration

NewDefaultExporterConfig retrieves the hardcoded configs with sane defaults

func ParseConfig

func ParseConfig(version, commit, date string, fs *flag.FlagSet, args []string) *Configuration

ParseConfig overrides internal config defaults with an optional YAML file, then environment variables and lastly CLI flags. Ensures basic validation.

func (*Configuration) LoadMetricDefinitions

func (configuration *Configuration) LoadMetricDefinitions() *MetricDefinitions

LoadMetricDefinitions loads the metrics from configured file path. If the path is empty, embedded defaults are read.

type Group

type Group struct {
	SearchString string
	Metrics      []Metric
}

type Metric

type Metric struct {
	Name         string
	Description  string
	SearchString string
	Multiplier   *float64
	Divisor      *float64
	Labels       prometheus.Labels
}

type MetricDefinitions

type MetricDefinitions struct {
	Pages map[string]Page
}

func (MetricDefinitions) MapToPrometheusMetric

func (definitions MetricDefinitions) MapToPrometheusMetric() map[string][]*metrics.PrometheusMetric

MapToPrometheusMetric transforms given config from into Prometheus metric objects.

type Page

type Page struct {
	Groups    map[string]Group
	URLSuffix string
}

Jump to

Keyboard shortcuts

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