diff --git a/CHANGELOG.md b/CHANGELOG.md index d9cb8dab1d..d0d819af4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## unreleased -* [CHANGE] Remote-Write: Ability to set User-Agent #15201 +* [ENHANCEMENT] Remote-Write: Ability to set User-Agent #15201 * [ENHANCEMENT] OTLP receiver: Convert also metric metadata. #15416 ## 3.0.0 / 2024-11-14 diff --git a/storage/remote/client.go b/storage/remote/client.go index f07e1d4559..1f5436e4e2 100644 --- a/storage/remote/client.go +++ b/storage/remote/client.go @@ -67,7 +67,7 @@ const ( var ( // internalUserAgent should not be modified as it is to allow tracking of the // specific Prometheus version in use if UserAgent below is over-ridden. - // This value is used to set the X-Prometheus-User-Agent header. + // This value is used to set the X-Prometheus-Library-Version header. internalUserAgent = fmt.Sprintf("Prometheus/%s", version.Version) // UserAgent represents Prometheus version to use for the User-Agent header. @@ -284,7 +284,7 @@ func (c *Client) Store(ctx context.Context, req []byte, attempt int) (WriteRespo httpReq.Header.Add("Content-Encoding", string(c.writeCompression)) httpReq.Header.Set("Content-Type", remoteWriteContentTypeHeaders[c.writeProtoMsg]) httpReq.Header.Set("User-Agent", UserAgent) - httpReq.Header.Set("X-Prometheus-User-Agent", internalUserAgent) + httpReq.Header.Set("X-Prometheus-Library-Version", internalUserAgent) if c.writeProtoMsg == config.RemoteWriteProtoMsgV1 { // Compatibility mode for 1.0. httpReq.Header.Set(RemoteWriteVersionHeader, RemoteWriteVersion1HeaderValue) @@ -386,7 +386,7 @@ func (c *Client) Read(ctx context.Context, query *prompb.Query, sortSeries bool) httpReq.Header.Add("Accept-Encoding", "snappy") httpReq.Header.Set("Content-Type", "application/x-protobuf") httpReq.Header.Set("User-Agent", UserAgent) - httpReq.Header.Set("X-Prometheus-User-Agent", internalUserAgent) + httpReq.Header.Set("X-Prometheus-Library-Version", internalUserAgent) httpReq.Header.Set("X-Prometheus-Remote-Read-Version", "0.1.0") ctx, cancel := context.WithTimeout(ctx, c.timeout) diff --git a/storage/remote/client_test.go b/storage/remote/client_test.go index 94510ce906..4883911fc2 100644 --- a/storage/remote/client_test.go +++ b/storage/remote/client_test.go @@ -112,9 +112,9 @@ func TestReadClientUserAgent(t *testing.T) { called = true receivedHeaders := r.Header - // Check the X-Prometheus-User-Agent header. - require.Equal(t, []string{internalUserAgent}, receivedHeaders.Values("X-Prometheus-User-Agent"), - "expected X-Prometheus-User-Agent header to be default value of %q", internalUserAgent) + // Check the X-Prometheus-Library-Version header. + require.Equal(t, []string{internalUserAgent}, receivedHeaders.Values("X-Prometheus-Library-Version"), + "expected X-Prometheus-Library-Version header to be default value of %q", internalUserAgent) if test.userAgent == "" { // Expect original header value. @@ -183,9 +183,9 @@ func TestWriteClientUserAgent(t *testing.T) { called = true receivedHeaders := r.Header - // Check the X-Prometheus-User-Agent header. - require.Equal(t, []string{internalUserAgent}, receivedHeaders.Values("X-Prometheus-User-Agent"), - "expected X-Prometheus-User-Agent header to be default value of %q", internalUserAgent) + // Check the X-Prometheus-Library-Version header. + require.Equal(t, []string{internalUserAgent}, receivedHeaders.Values("X-Prometheus-Library-Version"), + "expected X-Prometheus-Library-Version header to be default value of %q", internalUserAgent) if test.userAgent == "" { // Expect original header value.