gen

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeLabelReflector

func MakeLabelReflector(t reflect.Type, parent string, parentLabelNames types.LabelNames) (*LabelReflector, LabelNames)

MakeLabelReflector uses reflection Information to build LabelReflector. for structs. LabelReflector can then later on be used to performantly extract Labels from the same struct type. Internally LabelReflector specifically looks at field tag `kpromlbl` for Label names.

func MakeLabelReflectorWithTransform added in v0.0.7

func MakeLabelReflectorWithTransform(t reflect.Type, parent string, parentLabelNames types.LabelNames, transform types.LabelNameTransformer) (*LabelReflector, LabelNames)

MakeLabelReflectorWithTransform uses reflection Information to build LabelReflector. for structs. LabelReflector can then later on be used to performantly extract Labels from the same struct type. Internally LabelReflector specifically looks at field tag `kpromlbl` for Label names. Also support transformation of LabelNames.

Types

type LabelNames

type LabelNames = types.LabelNames

Kept for compat only.

type LabelReflector

type LabelReflector = label.Reflector

type RecursiveMetricsOption added in v0.0.7

type RecursiveMetricsOption interface {
}

RecursiveMetricsOption represents an opaque option implementation for creating RecursiveMetrics

func WithLabelNameTransform added in v0.0.7

func WithLabelNameTransform(fun types.LabelNameTransformer) RecursiveMetricsOption

WithLabelNameTransform creates an Option for transforming Prometheus label names Especially useful since Prometheus has a very limited range of characters allowed for label names. Does not transform passed in Labels!

func WithMetricNameTransform added in v0.0.7

func WithMetricNameTransform(fun types.MetricNameTransformer) RecursiveMetricsOption

WithMetricNameTransform creates an Option for transforming Prometheus metric names Especially useful since Prometheus has a very limited range of characters allowed for metric names.

type Updater

type Updater interface {
	Update(v interface{}, labels prometheus.Labels)
}

Updater allows for updating prometheus Metrics from Value

func NewRecursiveMetricsFromTags

func NewRecursiveMetricsFromTags(tagged interface{}, opts ...RecursiveMetricsOption) (prometheus.Collector, Updater)

NewRecursiveMetricsFromTags builds Metrics recursively for the type of `tagged`. Uses tags to build Metrics. Does not expose metrics directly. Returns `Collector` for reading created Metrics and `Updater` for updating the Metrics with a Type of `tagged`.

Jump to

Keyboard shortcuts

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