func (s *CirconusSink) IncrCounterWithLabels(key []string, val float32, labels []metrics.Label) {
	flatKey := s.flattenKeyLabels(key, labels)
	s.metrics.IncrementByValue(flatKey, uint64(val))
}
IncrCounterWithLabels increments a counter metric with the given labels
package circonus
import (
	"strings"
	"github.com/armon/go-metrics"
	cgm "github.com/circonus-labs/circonus-gometrics"
)
type CirconusSink struct {
	metrics *cgm.CirconusMetrics
}
type Config cgm.Config
func NewCirconusSink(cc *Config) (*CirconusSink, error) {
	cfg := cgm.Config{}
	if cc != nil {
		cfg = cgm.Config(*cc)
	}
	metrics, err := cgm.NewCirconusMetrics(&cfg)
	if err != nil {
		return nil, err
	}
	return &CirconusSink{
		metrics: metrics,
	}, nil
}
func (s *CirconusSink) Start() {
	s.metrics.Start()
}
func (s *CirconusSink) Flush() {
	s.metrics.Flush()
}
func (s *CirconusSink) SetGauge(key []string, val float32) {
	flatKey := s.flattenKey(key)
	s.metrics.SetGauge(flatKey, int64(val))
}
func (s *CirconusSink) SetGaugeWithLabels(key []string, val float32, labels []metrics.Label) {
	flatKey := s.flattenKeyLabels(key, labels)
	s.metrics.SetGauge(flatKey, int64(val))
}
func (s *CirconusSink) EmitKey(key []string, val float32) {
}
func (s *CirconusSink) IncrCounter(key []string, val float32) {
	flatKey := s.flattenKey(key)
	s.metrics.IncrementByValue(flatKey, uint64(val))
}