prober: migrate to Prometheus metric library
This provides an example of using native Prometheus metrics with tsweb. Prober library seems to be the only user of PrometheusVar, so I am removing support for it in tsweb. Updates https://github.com/tailscale/corp/issues/10205 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
This commit is contained in:

committed by
Anton Tolchanov

parent
11e6247d2a
commit
c153e6ae2f
@ -448,15 +448,6 @@ func Error(code int, msg string, err error) HTTPError {
|
||||
return HTTPError{Code: code, Msg: msg, Err: err}
|
||||
}
|
||||
|
||||
// PrometheusVar is a value that knows how to format itself into
|
||||
// Prometheus metric syntax.
|
||||
type PrometheusVar interface {
|
||||
// WritePrometheus writes the value of the var to w, in Prometheus
|
||||
// metric syntax. All variables names written out must start with
|
||||
// prefix (or write out a single variable named exactly prefix)
|
||||
WritePrometheus(w io.Writer, prefix string)
|
||||
}
|
||||
|
||||
// WritePrometheusExpvar writes kv to w in Prometheus metrics format.
|
||||
//
|
||||
// See VarzHandler for conventions. This is exported primarily for
|
||||
@ -510,9 +501,6 @@ func writePromExpVar(w io.Writer, prefix string, kv expvar.KeyValue) {
|
||||
name, typ, label := prometheusMetric(prefix, key)
|
||||
|
||||
switch v := kv.Value.(type) {
|
||||
case PrometheusVar:
|
||||
v.WritePrometheus(w, name)
|
||||
return
|
||||
case *expvar.Int:
|
||||
if typ == "" {
|
||||
typ = "counter"
|
||||
|
Reference in New Issue
Block a user