func Histogram(t testingT, n string, m interface{}) bool {
	_, ok := m.(metrics.Histogram)
	if !ok {
		t.Errorf("metric %s is not a histogram", n)
	}
	return ok
}
Histogram is an expectation that a certain metric is a histogram.  It must implement the go-kit metrics.Histogram interface.
package xmetricstest
import (
	"github.com/go-kit/kit/metrics"
	"github.com/xmidt-org/webpa-common/v2/xmetrics"
)
type testingT interface {
	Errorf(string, ...interface{})
}
type expectation func(t testingT, name string, metric interface{}) bool
func Value(expected float64) expectation {
	return func(t testingT, n string, m interface{}) bool {
		v, ok := m.(xmetrics.Valuer)
		if !ok {
			t.Errorf("metric %s does not expose a value (i.e. is not a counter or gauge)", n)
			return false
		}
		if actual := v.Value(); actual != expected {
			t.Errorf("metric %s does not have the expected value %f.  actual value is %f", n, expected, actual)
			return false
		}
		return true
	}
}
func Minimum(expected float64) expectation {
	return func(t testingT, n string, m interface{}) bool {
		v, ok := m.(xmetrics.Valuer)
		if !ok {
			t.Errorf("metric %s does not expose a value (i.e. is not a counter or gauge)", n)
			return false
		}
		if actual := v.Value(); actual < expected {
			t.Errorf("metric %s is smaller than the expected value %f.  actual value is %f", n, expected, actual)
			return false
		}
		return true
	}
}
func Counter(t testingT, n string, m interface{}) bool {
	_, ok := m.(metrics.Counter)
	if !ok {
		t.Errorf("metric %s is not a counter", n)
	}
	return ok
}
func Gauge(t testingT, n string, m interface{}) bool {
	_, ok := m.(metrics.Gauge)
	if !ok {
		t.Errorf("metric %s is not a gauge", n)
	}
	return ok
}