Merge pull request #1410 from prometheus/arthursens/cut-1.18.0

Add 1.18 changelog
This commit is contained in:
Arthur Silva Sens 2023-12-27 20:02:07 -03:00 committed by GitHub
commit 0837d362b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 12 deletions

View File

@ -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

View File

@ -1 +1 @@
1.17.0 1.18.0

View File

@ -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 {

View File

@ -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)