mox/stub/metrics.go
Mechiel Lukkien 72ac1fde29
expose fewer internals in packages, for easier software reuse
- prometheus is now behind an interface, they aren't dependencies for the
  reusable components anymore.
- some dependencies have been inverted: instead of packages importing a main
  package to get configuration, the main package now sets configuration in
  these packages. that means fewer internals are pulled in.
- some functions now have new parameters for values that were retrieved from
  package "mox-".
2023-12-14 15:39:36 +01:00

43 lines
757 B
Go

package stub
import (
"context"
"time"
"golang.org/x/exp/slog"
)
func HTTPClientObserveIgnore(ctx context.Context, log *slog.Logger, pkg, method string, statusCode int, err error, start time.Time) {
}
type Counter interface {
Inc()
}
type CounterIgnore struct{}
func (CounterIgnore) Inc() {}
type CounterVec interface {
IncLabels(labels ...string)
}
type CounterVecIgnore struct{}
func (CounterVecIgnore) IncLabels(labels ...string) {}
type Histogram interface {
Observe(float64)
}
type HistogramIgnore struct{}
func (HistogramIgnore) Observe(float64) {}
type HistogramVec interface {
ObserveLabels(v float64, labels ...string)
}
type HistogramVecIgnore struct{}
func (HistogramVecIgnore) ObserveLabels(v float64, labels ...string) {}