Documentation ¶
Overview ¶
Package importsrv receives metrics over gRPC and sends them to workers.
The Server wraps a grpc.Server, and implements the forwardrpc.Forward service. It receives batches of metrics, then hashes them to a specific "MetricIngester" and forwards them on.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MetricIngester ¶
MetricIngester reads metrics from protobufs
type Option ¶
type Option func(*options)
Option is returned by functions that serve as options to New, like "With..."
func WithTraceClient ¶
WithTraceClient sets the trace client for the server. Otherwise it uses trace.DefaultClient.
type Server ¶
Server wraps a gRPC server and implements the forwardrpc.Forward service. It reads a list of metrics, and based on the provided key chooses a MetricIngester to send it to. A unique metric (name, tags, and type) should always be routed to the same MetricIngester.
func New ¶
func New(metricOuts []MetricIngester, opts ...Option) *Server
New creates an unstarted Server with the input MetricIngester's to send output to.
func (*Server) SendMetrics ¶
func (s *Server) SendMetrics(ctx context.Context, mlist *forwardrpc.MetricList) (*empty.Empty, error)
SendMetrics takes a list of metrics and hashes each one (based on the metric key) to a specific metric ingester.