Documentation ¶
Overview ¶
Package monitor contains the code for sending metric data to monitoring endpoints.
Package monitor contains the code for sending metric data to monitoring endpoints.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ProdxmonScopes is the list of oauth2 scopes needed on the http client // given to NewHTTPMonitor. ProdxmonScopes = []string{"https://www.googleapis.com/auth/prodxmon"} )
Functions ¶
func SerializeCells ¶
SerializeCells creates a MetricsCollection message from a slice of cells.
func SerializeDataSet ¶
func SerializeDataSet(c types.Cell) *pb.MetricsDataSet
SerializeDataSet creates a new MetricsDataSet without any data, but just with the metric metadata fields populated.
func SerializeValue ¶
SerializeValue creates a new MetricsData representing this cell's value.
Types ¶
type Monitor ¶
type Monitor interface { // ChunkSize returns the maximum number of metrics this Monitor can Send in // one go. If there are more metrics, they will be broken up into chunks and // Send will be called multiple times. A ChunkSize of 0 disables chunking. ChunkSize() int Send(ctx context.Context, cells []types.Cell) error // Close closes any resources held by the monitor. // // Close need not be called at program exit. Close() error }
A Monitor can send a collection of metrics somewhere.
func NewDebugMonitor ¶
NewDebugMonitor returns a Monitor that outputs metrics to a log, and optionally a file on disk.
func NewHTTPMonitor ¶
NewHTTPMonitor creates a new Monitor object that sends metric to an HTTP (or HTTPS) endpoint. The http client should be authenticated as required.
func NewNilMonitor ¶
func NewNilMonitor() Monitor
NewNilMonitor returns a Monitor that does nothing.