Skip to content

Commit

Permalink
Manually applying dskit/server patch
Browse files Browse the repository at this point in the history
  • Loading branch information
Koenraad Verheyden committed Aug 7, 2023
1 parent 21fe98e commit a5c8dff
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
21 changes: 21 additions & 0 deletions integration/e2e/overrides_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,27 @@ func TestOverrides(t *testing.T) {
require.NotNil(t, limits.Forwarders)
assert.ElementsMatch(t, *limits.Forwarders, []string{})

// Patching overrides
fmt.Println("* Patching overrides.forwarders")
bt := true
limits, version, err = apiClient.PatchOverrides(&userconfigurableapi.UserConfigurableLimits{
MetricsGenerator: &userconfigurableapi.UserConfigurableOverridesMetricsGenerator{
DisableCollection: &bt,
},
})
require.NoError(t, err)

printLimits(limits)
require.NoError(t, err)

require.NotNil(t, limits)
// limits did not change
require.NotNil(t, limits.Forwarders)
assert.ElementsMatch(t, *limits.Forwarders, []string{})
require.NotNil(t, limits.MetricsGenerator)
require.NotNil(t, limits.MetricsGenerator.DisableCollection)
assert.True(t, *limits.MetricsGenerator.DisableCollection)

// We fetched the overrides once manually, but we also expect at least one poll_interval to have happened
require.NoError(t, tempo.WaitSumMetrics(e2e.Greater(1), "tempo_overrides_user_configurable_overrides_fetch_total"))

Expand Down
23 changes: 23 additions & 0 deletions pkg/httpclient/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,29 @@ func (c *Client) SetOverrides(limits *api.UserConfigurableLimits, version string
return resp.Header.Get("Etag"), err
}

func (c *Client) PatchOverrides(limits *api.UserConfigurableLimits) (*api.UserConfigurableLimits, string, error) {
b, err := json.Marshal(limits)
if err != nil {
return nil, "", err
}

req, err := http.NewRequest("PATCH", c.BaseURL+tempo_api.PathOverrides, bytes.NewBuffer(b))
if err != nil {
return nil, "", err
}

resp, body, err := c.doRequest(req)
if err != nil {
return nil, "", err
}

patchedLimits := &api.UserConfigurableLimits{}
if err = json.Unmarshal(body, patchedLimits); err != nil {
return nil, "", fmt.Errorf("error decoding overrides, err: %v body: %s", err, string(body))
}
return patchedLimits, resp.Header.Get("Etag"), err
}

func (c *Client) DeleteOverrides(version string) error {
req, err := http.NewRequest("DELETE", c.BaseURL+tempo_api.PathOverrides, nil)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion vendor/github.com/grafana/dskit/server/server.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit a5c8dff

Please sign in to comment.