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.
MetricIngester reads metrics from protobufs
type Option func(*options)
Option is returned by functions that serve as options to New, like "With..."
WithTraceClient sets the trace client for the server. Otherwise it uses trace.DefaultClient.
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.
New creates an unstarted Server with the input MetricIngester's to send output to.
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.
Serve starts a gRPC listener on the specified address and blocks while listening for requests. If listening is interrupted by some means other than Stop or GracefulStop being called, it returns a non-nil error.