common

package
v0.5.9 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByteMD5

func ByteMD5(b []byte) []byte

func FileMD5

func FileMD5(path string) []byte

func GetBaseConfigKeys added in v0.0.5

func GetBaseConfigKeys(arr map[string]*BaseConfig) []string

func GetDomainKeys added in v0.5.3

func GetDomainKeys(arr map[string]Labels) []string

func GetFileKeys added in v0.3.15

func GetFileKeys(arr map[string]*File) []string

func GetPrometheusDiscoveriesByInstances added in v0.5.3

func GetPrometheusDiscoveriesByInstances(names string) map[string]string

func GetStringKeys added in v0.0.5

func GetStringKeys(arr map[string]string) []string

func IfDef

func IfDef(v, def interface{}) interface{}

func MergeInterfacegMaps added in v0.3.6

func MergeInterfacegMaps(maps ...map[string]interface{}) map[string]interface{}

func MergeStringMaps added in v0.3.6

func MergeStringMaps(maps ...map[string]string) map[string]string

func ParsePeriodFromNow added in v0.5.3

func ParsePeriodFromNow(period string, t time.Time) string

func ReadFiles

func ReadFiles(pattern string) ([]string, error)

func Render added in v0.5.3

func Render(def string, obj interface{}, observability *Observability) string

func RenderTemplate

func RenderTemplate(tpl *toolsRender.TextTemplate, def string, obj interface{}) (string, error)

func SortStringMapByKeys added in v0.0.5

func SortStringMapByKeys(m map[string]string, keys []string) map[string]string

func StringContainsAny added in v0.3.13

func StringContainsAny(s string, arr []string) bool

func StringInArr

func StringInArr(a string, arr []string) bool

Types

type BaseAvailability

type BaseAvailability struct {
	Disabled bool                     `yaml:"disabled"`
	Queries  []*BaseAvailabilityQuery `yaml:"queries"`
	GroupBy  []string                 `yaml:"group_by"`
	Labels   map[string]string        `yaml:"labels"`
}

type BaseAvailabilityQuery

type BaseAvailabilityQuery struct {
	Query     string            `yaml:"query"`
	Suffix    string            `yaml:"suffix"`
	Weight    interface{}       `yaml:"weight"`
	Labels    map[string]string `yaml:"labels"`
	UseCRD    string            `yaml:"crd"`
	Composite string            `yaml:"composite"`
	Source    string            `yaml:"source"`
	Timeout   string            `yaml:"timeout"`
}

type BaseCondition added in v0.3.5

type BaseCondition struct {
	Metric string            `yaml:"metric"`
	Labels map[string]string `yaml:"labels"`
}

type BaseConfig

type BaseConfig struct {
	Disabled     bool              `yaml:"disabled"`
	Vars         map[string]string `yaml:"vars"`
	Labels       map[string]string `yaml:"labels"`
	Conditions   []*BaseCondition  `yaml:"if"`
	Qualities    []*BaseQuality    `yaml:"quality"`
	Metrics      []*BaseMetric     `yaml:"metrics"`
	Availability *BaseAvailability `yaml:"availability"`
}

func (*BaseConfig) Contains added in v0.3.18

func (bc *BaseConfig) Contains(pattern string) bool

func (*BaseConfig) LabelsExist added in v0.3.5

func (bc *BaseConfig) LabelsExist(c *BaseCondition, labels map[string]string) bool

func (*BaseConfig) MetricExists

func (bc *BaseConfig) MetricExists(query string, labels map[string]string) bool

type BaseMetric

type BaseMetric struct {
	Disabled bool              `yaml:"disabled"`
	Query    string            `yaml:"query"`
	Name     string            `yaml:"name"`
	UniqueBy []string          `yaml:"unique_by"`
	Labels   map[string]string `yaml:"labels"`
}

type BaseQuality

type BaseQuality struct {
	Range  string `yaml:"range"`
	Every  string `yaml:"every"`
	Points int    `yaml:"points"`
	Query  string `yaml:"query"`
}

type Discovery added in v0.5.3

type Discovery interface {
	Discover()
}

type File added in v0.3.2

type File struct {
	Path string
	Type string
	Obj  interface{}
}

type Labels added in v0.5.3

type Labels map[string]string

type Observability

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

func NewObservability

func NewObservability(logs *sre.Logs, metrics *sre.Metrics) *Observability

func (*Observability) Debug

func (o *Observability) Debug(obj interface{}, args ...interface{})

func (*Observability) Error

func (o *Observability) Error(obj interface{}, args ...interface{})

func (*Observability) Info

func (o *Observability) Info(obj interface{}, args ...interface{})

func (*Observability) Logs

func (o *Observability) Logs() *sre.Logs

func (*Observability) Metrics

func (o *Observability) Metrics() *sre.Metrics

func (*Observability) Warn

func (o *Observability) Warn(obj interface{}, args ...interface{})

type PrometheusOptions added in v0.5.3

type PrometheusOptions struct {
	Names    string
	URL      string
	Timeout  int
	Insecure bool
}

type PrometheusResponse added in v0.5.3

type PrometheusResponse struct {
	Status string                  `json:"status"`
	Data   *PrometheusResponseData `json:"data"`
}

type PrometheusResponseData added in v0.5.3

type PrometheusResponseData struct {
	ResultType string                          `json:"resultType"`
	Result     []*PrometheusResponseDataVector `json:"result"`
}

type PrometheusResponseDataVector added in v0.5.3

type PrometheusResponseDataVector struct {
	Labels map[string]string `json:"metric"`
}

type Service

type Service struct {
	Metrics []string
	Configs map[string]*BaseConfig
	Labels  map[string]string
	Vars    map[string]string
	Files   map[string]*File
}

Jump to

Keyboard shortcuts

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