type Linter … // New creates a new Linter that reads an input stream of Prometheus metrics in // the Prometheus text exposition format. func New(r io.Reader) *Linter { … } // NewWithMetricFamilies creates a new Linter that reads from a slice of // MetricFamily protobuf messages. func NewWithMetricFamilies(mfs []*dto.MetricFamily) *Linter { … } // AddCustomValidations adds custom validations to the linter. func (l *Linter) AddCustomValidations(vs ...Validation) { … } // Lint performs a linting pass, returning a slice of Problems indicating any // issues found in the metrics stream. The slice is sorted by metric name // and issue description. func (l *Linter) Lint() ([]Problem, error) { … } // lint is the entry point for linting a single metric. func (l *Linter) lint(mf *dto.MetricFamily) []Problem { … }