keel/metrics
Kevin Franklin Kim 7fded0fa58
feat: fence output
2023-09-11 14:14:58 +02:00
..
metrics_http.go initial commit 2021-05-18 08:34:47 +02:00
metrics.go docs: mark metrics as deprecated 2021-09-10 12:00:38 +02:00
readme.go feat: fence output 2023-09-11 14:14:58 +02:00

package metrics

import (
	"github.com/foomo/keel/markdown"
	"github.com/prometheus/client_golang/prometheus"
)

func Readme() string {
	md := markdown.Markdown{}
	var rows [][]string

	if gatherer, err := prometheus.DefaultGatherer.Gather(); err == nil {
		for _, value := range gatherer {
			rows = append(rows, []string{
				markdown.Code(value.GetName()),
				value.GetType().String(),
				value.GetHelp(),
			})
		}
	}

	if len(rows) > 0 {
		md.Println("### Metrics")
		md.Println("")
		md.Println("List of all registered metrics than are being exposed.")
		md.Println("")
		md.Table([]string{"Name", "Type", "Description"}, rows)
		md.Println("")
	}

	return md.String()
}