diff --git a/prometheus/go_collector.go b/prometheus/go_collector.go index 5d6fe60..69e2ec8 100644 --- a/prometheus/go_collector.go +++ b/prometheus/go_collector.go @@ -280,35 +280,6 @@ type memStatsMetrics []struct { valType ValueType } -func goRuntimeEnvVarsMetrics() runtimeEnvVarsMetrics { - return runtimeEnvVarsMetrics{ - { - desc: NewDesc( - "go_gogc_percent", - "Value of GOGC (percentage).", - nil, nil, - ), - origMetricName: "/gc/gogc:percent", - }, - { - desc: NewDesc( - "go_gomemlimit", - "Value of GOMEMLIMIT (bytes).", - nil, nil, - ), - origMetricName: "/gc/gomemlimit:bytes", - }, - { - desc: NewDesc( - "go_gomaxprocs", - "Value of GOMAXPROCS, i.e number of usable threads.", - nil, nil, - ), - origMetricName: "/sched/gomaxprocs:threads", - }, - } -} - type runtimeEnvVarsMetrics []struct { // I couldn't come up with a better name. Any suggestions? desc *Desc origMetricName string diff --git a/prometheus/go_collector_go120.go b/prometheus/go_collector_go120.go new file mode 100644 index 0000000..5a98df7 --- /dev/null +++ b/prometheus/go_collector_go120.go @@ -0,0 +1,30 @@ +// 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. + +//go:build !go1.21 +// +build !go1.21 + +package prometheus + +func goRuntimeEnvVarsMetrics() runtimeEnvVarsMetrics { + return runtimeEnvVarsMetrics{ + { + desc: NewDesc( + "go_gomaxprocs", + "Value of GOMAXPROCS, i.e number of usable threads.", + nil, nil, + ), + origMetricName: "/sched/gomaxprocs:threads", + }, + } +} diff --git a/prometheus/go_collector_go121.go b/prometheus/go_collector_go121.go new file mode 100644 index 0000000..42500d0 --- /dev/null +++ b/prometheus/go_collector_go121.go @@ -0,0 +1,46 @@ +// 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. + +//go:build go1.21 +// +build go1.21 + +package prometheus + +func goRuntimeEnvVarsMetrics() runtimeEnvVarsMetrics { + return runtimeEnvVarsMetrics{ + { + desc: NewDesc( + "go_gogc_percent", + "Value of GOGC (percentage).", + nil, nil, + ), + origMetricName: "/gc/gogc:percent", + }, + { + desc: NewDesc( + "go_gomemlimit", + "Value of GOMEMLIMIT (bytes).", + nil, nil, + ), + origMetricName: "/gc/gomemlimit:bytes", + }, + { + desc: NewDesc( + "go_gomaxprocs", + "Value of GOMAXPROCS, i.e number of usable threads.", + nil, nil, + ), + origMetricName: "/sched/gomaxprocs:threads", + }, + } +}