metricsapi

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

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

View Source
const Hostname = "metrics.core"

Hostname is the default hostname of the microservice: metrics.core.

Variables

View Source
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 NewClient

func NewClient(caller service.Publisher) *Client

NewClient creates a new unicast client to the metrics.core microservice.

func (*Client) Collect

func (_c *Client) Collect(r *http.Request) (res *http.Response, err error)

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

func (_c *Client) Collect_Get(ctx context.Context, url string) (res *http.Response, err error)

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.

func (*Client) ForHost

func (_c *Client) ForHost(host string) *Client

ForHost replaces the default hostname of this client.

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

func (_c *MulticastClient) Collect(ctx context.Context, r *http.Request) <-chan *pub.Response

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

func (_c *MulticastClient) Collect_Get(ctx context.Context, url string) <-chan *pub.Response

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.

Jump to

Keyboard shortcuts

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