Documentation ¶
Index ¶
- Variables
- func AddLatencyProbe(ch channel2.Channel, interval time.Duration, handler LatencyHandler)
- func AddLatencyProbeResponder(ch channel2.Channel)
- func AsBatch(msg *metrics_pb.MetricsMessage) (*influxdb.BatchPoints, error)
- func Init(cfg *Config)
- func LoadInfluxConfig(src map[interface{}]interface{}) (*influxConfig, error)
- func LoadOutputFileConfig(src map[interface{}]interface{}) (*outputfileConfig, error)
- func ProbeLatency(ch channel2.Channel, histogram Histogram, interval time.Duration, ...)
- func ProbeLatencyConfigurable(config *LatencyProbeConfig)
- type Config
- type Formatter
- type Gauge
- type Handler
- type HandlerF
- type HandlerType
- type Histogram
- type IntervalCounter
- type JsonFormatter
- type LatencyHandler
- type LatencyProbeConfig
- type LatencyResponder
- type Meter
- type Metric
- type NilHandler
- type PlainTextFormatter
- type Registry
- type Timer
- type UsageRegistry
Constants ¶
This section is empty.
Variables ¶
var EventHandlerRegistry = cowslice.NewCowSlice(make([]Handler, 0))
Functions ¶
func AddLatencyProbe ¶ added in v0.15.10
func AddLatencyProbe(ch channel2.Channel, interval time.Duration, handler LatencyHandler)
func AddLatencyProbeResponder ¶ added in v0.15.10
func AsBatch ¶
func AsBatch(msg *metrics_pb.MetricsMessage) (*influxdb.BatchPoints, error)
func LoadInfluxConfig ¶
func LoadInfluxConfig(src map[interface{}]interface{}) (*influxConfig, error)
func LoadOutputFileConfig ¶ added in v0.13.1
func LoadOutputFileConfig(src map[interface{}]interface{}) (*outputfileConfig, error)
func ProbeLatency ¶
func ProbeLatency(ch channel2.Channel, histogram Histogram, interval time.Duration, timeout time.Duration)
send regular latency probes
func ProbeLatencyConfigurable ¶ added in v0.15.56
func ProbeLatencyConfigurable(config *LatencyProbeConfig)
Types ¶
type Config ¶
type Config struct { Source string Tags map[string]string ReportInterval time.Duration EventSink Handler // contains filtered or unexported fields }
func LoadConfig ¶
type Formatter ¶ added in v0.13.1
type Formatter interface {
WriteTo(msg *metrics_pb.MetricsMessage, out io.Writer) error
}
type Gauge ¶ added in v0.14.23
type Gauge interface { metrics.Gauge Metric }
Gauge represents a metric which is measuring a count and a rate
type Handler ¶
type Handler interface { // AcceptMetrics is called when new metrics become available AcceptMetrics(message *metrics_pb.MetricsMessage) }
Handler represents a sink for metric events
func NewChannelReporter ¶
NewChannelReporter creates a metrics handler which sends metrics messages out on the given channel
func NewDispatchWrapper ¶ added in v0.12.0
func NewInfluxDBMetricsHandler ¶
NewInfluxDBMetricsHandler creates a new HandlerTypeInfluxDB metrics ChannelReporter
func NewOutputFileMetricsHandler ¶ added in v0.13.1
Message handler that write node and link metrics to a file in json format
type HandlerF ¶ added in v0.15.35
type HandlerF func(message *metrics_pb.MetricsMessage)
func (HandlerF) AcceptMetrics ¶ added in v0.15.35
func (self HandlerF) AcceptMetrics(message *metrics_pb.MetricsMessage)
type HandlerType ¶
type HandlerType string
HandlerType is used to define known handler types
const ( HandlerTypeInfluxDB HandlerType = "influxdb" HandlerTypeJSONFile HandlerType = "jsonfile" HandlerTypeFile HandlerType = "file" )
type Histogram ¶
Histogram represents a metric which is measuring the distribution of values for some measurement
type IntervalCounter ¶
IntervalCounter allows tracking counters which are bucketized by some interval
type JsonFormatter ¶ added in v0.13.1
type JsonFormatter struct{}
func (*JsonFormatter) WriteTo ¶ added in v0.13.1
func (formatter *JsonFormatter) WriteTo(msg *metrics_pb.MetricsMessage, out io.Writer) error
type LatencyHandler ¶ added in v0.15.10
type LatencyProbeConfig ¶ added in v0.15.56
type LatencyResponder ¶ added in v0.15.10
type LatencyResponder struct {
// contains filtered or unexported fields
}
LatencyResponder responds to latency messages with LatencyResponse messages.
func (*LatencyResponder) ContentType ¶ added in v0.15.10
func (self *LatencyResponder) ContentType() int32
func (*LatencyResponder) HandleReceive ¶ added in v0.15.10
func (self *LatencyResponder) HandleReceive(msg *channel2.Message, _ channel2.Channel)
type Metric ¶
type Metric interface {
Dispose()
}
Metric is the base functionality for all metrics types
type NilHandler ¶ added in v0.15.19
type NilHandler struct{}
func (NilHandler) AcceptMetrics ¶ added in v0.15.19
func (NilHandler) AcceptMetrics(message *metrics_pb.MetricsMessage)
type PlainTextFormatter ¶ added in v0.13.1
type PlainTextFormatter struct { }
func (PlainTextFormatter) WriteTo ¶ added in v0.13.1
func (PlainTextFormatter) WriteTo(msg *metrics_pb.MetricsMessage, out io.Writer) error
type Registry ¶
type Registry interface { SourceId() string Gauge(name string) Gauge FuncGauge(name string, f func() int64) Gauge Meter(name string) Meter Histogram(name string) Histogram Timer(name string) Timer EachMetric(visitor func(name string, metric Metric)) Poll() *metrics_pb.MetricsMessage DisposeAll() }
Registry allows for configuring and accessing metrics for a fabric application
type UsageRegistry ¶ added in v0.13.1
type UsageRegistry interface { Registry IntervalCounter(name string, intervalSize time.Duration) IntervalCounter FlushToHandler(handler Handler) Flush() StartReporting(eventSink Handler, reportInterval time.Duration, msgQueueSize int) }
UsageRegistry extends registry to allow collecting usage metrics
func NewUsageRegistry ¶ added in v0.13.1
func NewUsageRegistry(sourceId string, tags map[string]string, closeNotify <-chan struct{}) UsageRegistry