metricsender

package
v0.0.0-...-f1c12f4 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: AGPL-3.0 Imports: 12 Imported by: 2

Documentation

Overview

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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