package api

import "github.com/prometheus/client_golang/api"

Package api provides clients for the HTTP APIs.

Index

Variables

var DefaultRoundTripper http.RoundTripper = &http.Transport{
	Proxy: http.ProxyFromEnvironment,
	DialContext: (&net.Dialer{
		Timeout:   30 * time.Second,
		KeepAlive: 30 * time.Second,
	}).DialContext,
	TLSHandshakeTimeout: 10 * time.Second,
}

DefaultRoundTripper is used if no RoundTripper is set in Config.

Types

type Client

type Client interface {
	URL(ep string, args map[string]string) *url.URL
	Do(context.Context, *http.Request) (*http.Response, []byte, error)
}

Client is the interface for an API client.

func NewClient

func NewClient(cfg Config) (Client, error)

NewClient returns a new Client.

It is safe to use the returned Client from multiple goroutines.

type CloseIdler

type CloseIdler interface {
	CloseIdleConnections()
}

type Config

type Config struct {
	// The address of the Prometheus to connect to.
	Address string

	// Client is used by the Client to drive HTTP requests. If not provided,
	// a new one based on the provided RoundTripper (or DefaultRoundTripper) will be used.
	Client *http.Client

	// RoundTripper is used by the Client to drive HTTP requests. If not
	// provided, DefaultRoundTripper will be used.
	RoundTripper http.RoundTripper
}

Config defines configuration parameters for a new client.

Source Files

client.go

Directories

PathSynopsis
api/prometheus
api/prometheus/v1Package v1 provides bindings to the Prometheus HTTP API v1: http://prometheus.io/docs/querying/api/
Version
v1.22.0 (latest)
Published
Apr 8, 2025
Platform
linux/amd64
Imports
10 packages
Last checked
1 minute ago

Tools for package owners.