exporter

package
v2.5.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2021 License: Apache-2.0 Imports: 22 Imported by: 10

Documentation

Index

Constants

View Source
const (
	RegisterPeriod = time.Duration(10) * time.Minute
	RegisterPath   = "/v1/agent/service/register"
)
View Source
const (
	PromHandlerPattern      = "/metrics"       // prometheus handler
	AppName                 = "cfs"            //app name
	ConfigKeyExporterEnable = "exporterEnable" //exporter enable
	ConfigKeyExporterPort   = "exporterPort"   //exporter port
	ConfigKeyConsulAddr     = "consulAddr"     //consul addr
	ConfigKeyConsulMeta     = "consulMeta"     // consul meta
	ConfigKeyIpFilter       = "ipFilter"       // add ip filter
	ConfigKeyEnablePid      = "enablePid"      // enable report partition id
	ConfigKeyPushAddr       = "pushAddr"       // enable push data to gateway
	ChSize                  = 1024 * 10        //collect chan size

	// monitor label name
	Vol    = "vol"
	Disk   = "disk"
	PartId = "partid"
	Op     = "op"
	Type   = "type"
)

Variables

View Source
var (
	AlarmPool = &sync.Pool{New: func() interface{} {
		return new(Alarm)
	}}
	//AlarmGroup  sync.Map
	AlarmCh chan *Alarm
)
View Source
var (
	CounterGroup sync.Map
	CounterPool  = &sync.Pool{New: func() interface{} {
		return new(Counter)
	}}
	CounterCh chan *Counter
)
View Source
var (
	GaugeGroup sync.Map
	GaugeCh    chan *Gauge
)
View Source
var (
	HistogramGroup sync.Map
	HistogramCh    chan *Histogram
)
View Source
var (
	EnablePid = false
)

Functions

func DoConsulRegisterProc added in v1.34.0

func DoConsulRegisterProc(addr, app, role, cluster, meta, host string, port int64)

do consul register process

func GetConsulId

func GetConsulId(app string, role string, host string, port int64) string

get consul id

func GetLocalIpAddr

func GetLocalIpAddr(filter string) (ipaddr string, err error)

GetLocalIpAddr returns the local IP address.

func Init

func Init(role string, cfg *config.Config)

Init initializes the exporter.

func InitWithRouter added in v1.34.0

func InitWithRouter(role string, cfg *config.Config, router *mux.Router, exPort string)

Init initializes the exporter.

func RegistConsul added in v1.4.0

func RegistConsul(cluster string, role string, cfg *config.Config)

Types

type Alarm

type Alarm struct {
	Counter
}

func Warning added in v1.4.0

func Warning(detail string) (a *Alarm)

type ConsulRegisterInfo

type ConsulRegisterInfo struct {
	Name    string            `json:"Name"`
	ID      string            `json:"ID"`
	Address string            `json:"Address"`
	Port    int64             `json:"Port"`
	Tags    []string          `json:"Tags"`
	Meta    map[string]string `json:",omitempty"`
}

*

  • consul register info for prometheus
  • optional for user when set prometheus exporter

type Counter

type Counter struct {
	Gauge
}

func NewCounter

func NewCounter(name string) (c *Counter)

func (*Counter) Add

func (c *Counter) Add(val int64)

func (*Counter) AddWithLabels

func (c *Counter) AddWithLabels(val int64, labels map[string]string)

func (*Counter) Metric

func (c *Counter) Metric() prometheus.Counter

type Gauge

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

func NewGauge

func NewGauge(name string) (g *Gauge)

func (*Gauge) Key

func (c *Gauge) Key() (key string)

func (*Gauge) Metric

func (c *Gauge) Metric() prometheus.Gauge

func (*Gauge) Name added in v1.34.0

func (g *Gauge) Name() string

func (*Gauge) Set

func (g *Gauge) Set(val float64)

func (*Gauge) SetWithLabels

func (g *Gauge) SetWithLabels(val float64, labels map[string]string)

func (*Gauge) String added in v1.34.0

func (g *Gauge) String() string

type GaugeVec added in v1.34.0

type GaugeVec struct {
	*prometheus.GaugeVec
}

func NewGaugeVec added in v1.34.0

func NewGaugeVec(name, help string, labels []string) *GaugeVec

func (*GaugeVec) SetWithLabelValues added in v1.34.0

func (v *GaugeVec) SetWithLabelValues(val float64, lvs ...string)

type Histogram added in v1.34.0

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

func (*Histogram) Key added in v1.34.0

func (c *Histogram) Key() (key string)

func (*Histogram) Metric added in v1.34.0

func (c *Histogram) Metric() prometheus.Histogram

func (*Histogram) Name added in v1.34.0

func (g *Histogram) Name() string

func (*Histogram) String added in v1.34.0

func (g *Histogram) String() string

type TimePoint

type TimePoint struct {
	Histogram
	// contains filtered or unexported fields
}

func NewTP

func NewTP(name string) (tp *TimePoint)

func (*TimePoint) Set

func (tp *TimePoint) Set()

func (*TimePoint) SetWithLabels added in v1.34.0

func (tp *TimePoint) SetWithLabels(labels map[string]string)

type TimePointCount

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

func NewTPCnt

func NewTPCnt(name string) (tpc *TimePointCount)

func (*TimePointCount) Set

func (tpc *TimePointCount) Set(err error)

it should be invoked by defer func{set(err)}

func (*TimePointCount) SetWithLabels added in v1.34.0

func (tpc *TimePointCount) SetWithLabels(err error, labels map[string]string)

Jump to

Keyboard shortcuts

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