github.com/rudderlabs/rudder-go-kit@v0.30.0/stats/testhelper/prometheus.go (about)

     1  package testhelper
     2  
     3  import (
     4  	"io"
     5  
     6  	promClient "github.com/prometheus/client_model/go"
     7  	promParser "github.com/prometheus/common/expfmt"
     8  )
     9  
    10  // ParsePrometheusMetrics parses the given Prometheus metrics and returns a map of metric name to metric family.
    11  func ParsePrometheusMetrics(rdr io.Reader) (map[string]*promClient.MetricFamily, error) {
    12  	var parser promParser.TextParser
    13  	mf, err := parser.TextToMetricFamilies(rdr)
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  	return mf, nil
    18  }