Documentation ¶
Index ¶
- Constants
- Variables
- func DoConsulRegisterProc(addr, app, role, cluster, meta, host string, port int64)
- func GetConsulId(app string, role string, host string, port int64) string
- func GetLocalIpAddr(filter string) (ipaddr string, err error)
- func Init(role string, cfg *config.Config)
- func InitWithRouter(role string, cfg *config.Config, router *mux.Router, exPort string)
- func RegistConsul(cluster string, role string, cfg *config.Config)
- type Alarm
- type ConsulRegisterInfo
- type Counter
- type Gauge
- type GaugeVec
- type Histogram
- type TimePoint
- type TimePointCount
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 ¶
do consul register process
func GetConsulId ¶
get consul id
func GetLocalIpAddr ¶
GetLocalIpAddr returns the local IP address.
func InitWithRouter ¶
Init initializes the exporter.
Types ¶
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 (*Counter) AddWithLabels ¶
func (*Counter) Metric ¶
func (c *Counter) Metric() prometheus.Counter
type Gauge ¶
type Gauge struct {
// contains filtered or unexported fields
}
func (*Gauge) Metric ¶
func (c *Gauge) Metric() prometheus.Gauge
type GaugeVec ¶
type GaugeVec struct {
*prometheus.GaugeVec
}
func NewGaugeVec ¶
func (*GaugeVec) SetWithLabelValues ¶
type Histogram ¶
type Histogram struct {
// contains filtered or unexported fields
}
func (*Histogram) Metric ¶
func (c *Histogram) Metric() prometheus.Histogram
type TimePoint ¶
type TimePoint struct { Histogram // contains filtered or unexported fields }
func (*TimePoint) SetWithLabels ¶
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 ¶
func (tpc *TimePointCount) SetWithLabels(err error, labels map[string]string)
Click to show internal directories.
Click to hide internal directories.