Documentation ¶
Overview ¶
Package metricsapi implements the public API of the metrics.core microservice, including clients and data structures.
The Metrics service is a core microservice that aggregates metrics from other microservices and makes them available for collection.
Index ¶
- Constants
- Variables
- type Client
- func (_c *Client) Collect(r *http.Request) (res *http.Response, err error)
- func (_c *Client) Collect_Get(ctx context.Context, url string) (res *http.Response, err error)
- func (_c *Client) Collect_Post(ctx context.Context, url string, contentType string, body any) (res *http.Response, err error)
- func (_c *Client) ForHost(host string) *Client
- type MulticastClient
- func (_c *MulticastClient) Collect(ctx context.Context, r *http.Request) <-chan *pub.Response
- func (_c *MulticastClient) Collect_Get(ctx context.Context, url string) <-chan *pub.Response
- func (_c *MulticastClient) Collect_Post(ctx context.Context, url string, contentType string, body any) <-chan *pub.Response
- func (_c *MulticastClient) ForHost(host string) *MulticastClient
Constants ¶
const Hostname = "metrics.core"
Hostname is the default hostname of the microservice: metrics.core.
Variables ¶
var (
URLOfCollect = httpx.JoinHostAndPath(Hostname, `:443/collect`)
)
Fully-qualified URLs of the microservice's endpoints.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is an interface to calling the endpoints of the metrics.core microservice. This simple version is for unicast calls.
func (*Client) Collect ¶
Collect returns the latest aggregated metrics.
If a request is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint.
func (*Client) Collect_Get ¶
Collect_Get performs a GET request to the Collect endpoint.
Collect returns the latest aggregated metrics.
If a URL is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint.
func (*Client) Collect_Post ¶
func (_c *Client) Collect_Post(ctx context.Context, url string, contentType string, body any) (res *http.Response, err error)
Collect_Post performs a POST request to the Collect endpoint.
Collect returns the latest aggregated metrics.
If a URL is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is an interface to calling the endpoints of the metrics.core microservice. This advanced version is for multicast calls.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) *MulticastClient
NewMulticastClient creates a new multicast client to the metrics.core microservice.
func (*MulticastClient) Collect ¶
Collect returns the latest aggregated metrics.
If a request is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint.
func (*MulticastClient) Collect_Get ¶
Collect_Get performs a GET request to the Collect endpoint.
Collect returns the latest aggregated metrics.
If a URL is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint.
func (*MulticastClient) Collect_Post ¶
func (_c *MulticastClient) Collect_Post(ctx context.Context, url string, contentType string, body any) <-chan *pub.Response
Collect_Post performs a POST request to the Collect endpoint.
Collect returns the latest aggregated metrics.
If a URL is not provided, it defaults to the URL of the endpoint. Otherwise, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (*MulticastClient) ForHost ¶
func (_c *MulticastClient) ForHost(host string) *MulticastClient
ForHost replaces the default hostname of this client.