client_golang/prometheus/internal/go_collector_options.go

35 lines
1.3 KiB
Go
Raw Permalink Normal View History

// Copyright 2021 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 internal
import "regexp"
type GoCollectorRule struct {
Matcher *regexp.Regexp
Deny bool
}
// GoCollectorOptions should not be used be directly by anything, except `collectors` package.
// Use it via collectors package instead. See issue
// https://github.com/prometheus/client_golang/issues/1030.
//
// This is internal, so external users only can use it via `collector.WithGoCollector*` methods
type GoCollectorOptions struct {
DisableMemStatsLikeMetrics bool
RuntimeMetricSumForHist map[string]string
RuntimeMetricRules []GoCollectorRule
}
Add default Go runtime metrics for /gc/gogc:percent, /gc/gomemlimit:bytes, /sched/gomaxprocs:threads (#1559) * Add go_gomaxprocs, go_gogc_percent and go_gomemlimit to the default Go runtime metrics Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Move newly added metrics out of base metrics and into goCollector Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Rethink struct for newly added metrics, adapt and add tests Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Simplify new metrics reading Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Correct loop, add debugging lines Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Make goRuntimeEnvVarsMetrics function Go version dependent Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Fix go mod Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Remove debuggin line Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Move default runtime metrics into the runtime metrics flow, change tests accordingly Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * Go version expected default runtime metrics map for tests Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> * 1.21 update. Signed-off-by: bwplotka <bwplotka@gmail.com> * Addressed comments on Arianna's PR. Signed-off-by: bwplotka <bwplotka@gmail.com> * Use default GoCollector func in test Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> --------- Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it> Signed-off-by: bwplotka <bwplotka@gmail.com> Co-authored-by: bwplotka <bwplotka@gmail.com>
2024-08-09 22:27:25 +03:00
var GoCollectorDefaultRuntimeMetrics = regexp.MustCompile(`/gc/gogc:percent|/gc/gomemlimit:bytes|/sched/gomaxprocs:threads`)