diff --git a/version/info.go b/version/info.go index 3ca72ab3..61ed1ba3 100644 --- a/version/info.go +++ b/version/info.go @@ -90,8 +90,12 @@ func GetTags() string { return computedTags } -func UserAgent() string { - return "Prometheus/" + Version +func PrometheusUserAgent() string { + return ComponentUserAgent("Prometheus") +} + +func ComponentUserAgent(component string) string { + return component + "/" + Version } func init() { diff --git a/version/info_test.go b/version/info_test.go new file mode 100644 index 00000000..a3689db9 --- /dev/null +++ b/version/info_test.go @@ -0,0 +1,28 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package version + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestPrometheusUserAgent(t *testing.T) { + require.Equal(t, "Prometheus/"+Version, PrometheusUserAgent()) +} + +func TestComponentUserAgent(t *testing.T) { + require.Equal(t, "Component/"+Version, ComponentUserAgent("Component")) +}