Documentation ¶
Overview ¶
Package metricsender contains functions for sending metrics from a controller to a remote metric collector.
Package metricsender contains functions for sending metrics from a controller to a remote metric collector.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMaxBatchesPerSend ¶
func DefaultMaxBatchesPerSend() int
DefaultMaxBatchesPerSend returns the default number of batches per send.
func SendMetrics ¶
func SendMetrics(st ModelBackend, sender MetricSender, clock clock.Clock, batchSize int, transmitVendorMetrics bool) error
SendMetrics will send any unsent metrics over the MetricSender interface in batches no larger than batchSize.
func ToWire ¶
func ToWire(mb *state.MetricBatch, modelName string) *wireformat.MetricBatch
ToWire converts the state.MetricBatch into a type that can be sent over the wire to the collector.
Types ¶
type HTTPSender ¶
type HTTPSender struct {
// contains filtered or unexported fields
}
HTTPSender is the default used for sending metrics to the collector service.
func (*HTTPSender) Send ¶
func (s *HTTPSender) Send(metrics []*wireformat.MetricBatch) (*wireformat.Response, error)
Send sends the given metrics to the collector service.
type MetricSender ¶
type MetricSender interface {
Send([]*wireformat.MetricBatch) (*wireformat.Response, error)
}
MetricSender defines the interface used to send metrics to a collection service.
type ModelBackend ¶
type ModelBackend interface { MetricsManager() (*state.MetricsManager, error) MetricsToSend(batchSize int) ([]*state.MetricBatch, error) SetMetricBatchesSent(batchUUIDs []string) error CountOfUnsentMetrics() (int, error) CountOfSentMetrics() (int, error) CleanupOldMetrics() error Name() string Unit(name string) (*state.Unit, error) ModelTag() names.ModelTag ModelConfig() (*config.Config, error) ControllerConfig() (controller.Config, error) SetModelMeterStatus(string, string) error }
ModelBackend contains methods that are used by the metrics sender.
type NopSender ¶
type NopSender struct { }
NopSender is a sender that acts like everything worked fine But doesn't do anything.
func (NopSender) Send ¶
func (n NopSender) Send(batches []*wireformat.MetricBatch) (*wireformat.Response, error)
Implement the send interface, act like everything is fine.
type SenderFactory ¶
type SenderFactory func(url string) MetricSender
func DefaultSenderFactory ¶
func DefaultSenderFactory() SenderFactory
DefaultSenderFactory returns the default sender factory.