Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate expvar metrics backend #4740

Merged
merged 2 commits into from Sep 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 3 additions & 1 deletion examples/hotrod/cmd/flags.go
Expand Up @@ -38,9 +38,11 @@ var (
jaegerUI string
)

const expvarDepr = "(deprecated, will be removed after 2024-01-01 or in release v1.53.0, whichever is later) "

// used by root command
func addFlags(cmd *cobra.Command) {
cmd.PersistentFlags().StringVarP(&metricsBackend, "metrics", "m", "expvar", "Metrics backend (expvar|prometheus)")
cmd.PersistentFlags().StringVarP(&metricsBackend, "metrics", "m", "prometheus", expvarDepr+"Metrics backend (expvar|prometheus). ")
cmd.PersistentFlags().StringVarP(&otelExporter, "otel-exporter", "x", "otlp", "OpenTelemetry exporter (otlp|stdout)")

cmd.PersistentFlags().DurationVarP(&fixDBConnDelay, "fix-db-query-delay", "D", 300*time.Millisecond, "Average latency of MySQL DB query")
Expand Down
2 changes: 1 addition & 1 deletion examples/hotrod/cmd/root.go
Expand Up @@ -73,7 +73,7 @@ func onInitialize() {
switch metricsBackend {
case "expvar":
metricsFactory = expvar.NewFactory(10) // 10 buckets for histograms
logger.Info("Using expvar as metrics backend")
logger.Info("*** Using expvar as metrics backend " + expvarDepr)
case "prometheus":
metricsFactory = prometheus.New().Namespace(metrics.NSOptions{Name: "hotrod", Tags: nil})
logger.Info("Using Prometheus as metrics backend")
Expand Down
6 changes: 5 additions & 1 deletion internal/metrics/metricsbuilder/builder.go
Expand Up @@ -19,6 +19,7 @@ import (
"errors"
"expvar"
"flag"
"log"
"net/http"

"github.com/prometheus/client_golang/prometheus"
Expand Down Expand Up @@ -46,12 +47,14 @@ type Builder struct {
handler http.Handler
}

const expvarDepr = "(deprecated, will be removed after 2024-01-01 or in release v1.53.0, whichever is later) "

// AddFlags adds flags for Builder.
func AddFlags(flags *flag.FlagSet) {
flags.String(
metricsBackend,
defaultMetricsBackend,
"Defines which metrics backend to use for metrics reporting: expvar, prometheus, none")
"Defines which metrics backend to use for metrics reporting: prometheus, none, or expvar "+expvarDepr)
flags.String(
metricsHTTPRoute,
defaultMetricsRoute,
Expand All @@ -77,6 +80,7 @@ func (b *Builder) CreateMetricsFactory(namespace string) (metrics.Factory, error
if b.Backend == "expvar" {
metricsFactory := jexpvar.NewFactory(10).Namespace(metrics.NSOptions{Name: namespace, Tags: nil})
b.handler = expvar.Handler()
log.Printf("using expvar as metrics backend " + expvarDepr)
return metricsFactory, nil
}
if b.Backend == "none" || b.Backend == "" {
Expand Down