Merge pull request #1410 from prometheus/arthursens/cut-1.18.0
Add 1.18 changelog
This commit is contained in:
commit
0837d362b4
|
@ -1,5 +1,13 @@
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## 1.18.0 / 2023-12-22
|
||||||
|
|
||||||
|
* [FEATURE] promlint: Allow creation of custom metric validations. #1311
|
||||||
|
* [FEATURE] Go programs using client_golang can be built in wasip1 OS. #1350
|
||||||
|
* [BUGFIX] histograms: Add timer to reset ASAP after bucket limiting has happened. #1367
|
||||||
|
* [BUGFIX] testutil: Fix comparison of metrics with empty Help strings. #1378
|
||||||
|
* [ENHANCEMENT] Improved performance of `MetricVec.WithLabelValues(...)`. #1360
|
||||||
|
|
||||||
## 1.17.0 / 2023-09-27
|
## 1.17.0 / 2023-09-27
|
||||||
|
|
||||||
* [CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). #1325
|
* [CHANGE] Minimum required go version is now 1.19 (we also test client_golang against new 1.21 version). #1325
|
||||||
|
|
|
@ -36,18 +36,14 @@ var DefaultRoundTripper http.RoundTripper = &http.Transport{
|
||||||
TLSHandshakeTimeout: 10 * time.Second,
|
TLSHandshakeTimeout: 10 * time.Second,
|
||||||
}
|
}
|
||||||
|
|
||||||
type HttpClient interface {
|
|
||||||
Do(req *http.Request) (*http.Response, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Config defines configuration parameters for a new client.
|
// Config defines configuration parameters for a new client.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// The address of the Prometheus to connect to.
|
// The address of the Prometheus to connect to.
|
||||||
Address string
|
Address string
|
||||||
|
|
||||||
// Client is used by the Client to drive HTTP requests. If not provided,
|
// Client is used by the Client to drive HTTP requests. If not provided,
|
||||||
// a new http.Client based on the provided RoundTripper (or DefaultRoundTripper) will be used.
|
// a new one based on the provided RoundTripper (or DefaultRoundTripper) will be used.
|
||||||
Client HttpClient
|
Client *http.Client
|
||||||
|
|
||||||
// RoundTripper is used by the Client to drive HTTP requests. If not
|
// RoundTripper is used by the Client to drive HTTP requests. If not
|
||||||
// provided, DefaultRoundTripper will be used.
|
// provided, DefaultRoundTripper will be used.
|
||||||
|
@ -61,13 +57,13 @@ func (cfg *Config) roundTripper() http.RoundTripper {
|
||||||
return cfg.RoundTripper
|
return cfg.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg *Config) client() HttpClient {
|
func (cfg *Config) client() http.Client {
|
||||||
if cfg.Client == nil {
|
if cfg.Client == nil {
|
||||||
return &http.Client{
|
return http.Client{
|
||||||
Transport: cfg.roundTripper(),
|
Transport: cfg.roundTripper(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cfg.Client
|
return *cfg.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg *Config) validate() error {
|
func (cfg *Config) validate() error {
|
||||||
|
@ -105,7 +101,7 @@ func NewClient(cfg Config) (Client, error) {
|
||||||
|
|
||||||
type httpClient struct {
|
type httpClient struct {
|
||||||
endpoint *url.URL
|
endpoint *url.URL
|
||||||
client HttpClient
|
client http.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *httpClient) URL(ep string, args map[string]string) *url.URL {
|
func (c *httpClient) URL(ep string, args map[string]string) *url.URL {
|
||||||
|
|
|
@ -105,7 +105,7 @@ func TestClientURL(t *testing.T) {
|
||||||
|
|
||||||
hclient := &httpClient{
|
hclient := &httpClient{
|
||||||
endpoint: ep,
|
endpoint: ep,
|
||||||
client: &http.Client{Transport: DefaultRoundTripper},
|
client: http.Client{Transport: DefaultRoundTripper},
|
||||||
}
|
}
|
||||||
|
|
||||||
u := hclient.URL(test.endpoint, test.args)
|
u := hclient.URL(test.endpoint, test.args)
|
||||||
|
|
Loading…
Reference in New Issue