exporter/metric/empty_exporter.go (48 lines of code) (raw):
package metric
import "net/http"
type EmptyExporter struct {
}
func (e *EmptyExporter) HTTPHandler() http.Handler {
return nil
}
type emptyMetric struct {
}
func (e emptyMetric) Register() error {
return nil
}
func (e emptyMetric) Unregister() bool {
return false
}
func (e emptyMetric) Reset() {
return
}
func newEmptyExporter() *EmptyExporter {
return &EmptyExporter{}
}
type emptyCounter struct {
emptyMetric
}
func (e emptyCounter) Add(value float64, labelValues ...string) {
return
}
func (e *EmptyExporter) NewCounter(name, desc string, labelNames []string) Counter {
return emptyCounter{}
}
type emptyGauge struct {
emptyMetric
}
func (e emptyGauge) Set(value float64, labelValues ...string) {
return
}
func (e *EmptyExporter) NewGauge(name, desc string, labelNames []string) Gauge {
return &emptyGauge{}
}
type emptyHistogram struct {
emptyMetric
}
func (e emptyHistogram) Observe(value float64, labelValues ...string) {
return
}
func (e *EmptyExporter) NewHistogram(name, desc string, buckets []float64, labelNames []string) Histogram {
return &emptyHistogram{}
}