func (r *SimpleReporter) StartTimer(name string, tags map[string]string) Stopwatch {
	w := newSimpleStopWatch(name, r)
	w.Start()
	return w
}
StartTimer returns a Stopwatch which when stopped will report the metric to M3
package metrics
import "time"
type (
	SimpleReporter struct {
		tags map[string]string
	}
	simpleStopWatch struct {
		metricName string
		reporter   *SimpleReporter
		startTime  time.Time
		elasped    time.Duration
	}
)
func NewSimpleReporter(tags map[string]string) Reporter {
	reporter := &SimpleReporter{
		tags: make(map[string]string),
	}
	if tags != nil {
		mergeDictoRight(tags, reporter.tags)
	}
	return reporter
}
func (r *SimpleReporter) InitMetrics(metricMap map[MetricName]MetricType) {
}
func (r *SimpleReporter) GetChildReporter(tags map[string]string) Reporter {
	sr := &SimpleReporter{
		tags: make(map[string]string),
	}
	mergeDictoRight(r.GetTags(), sr.GetTags())
	if tags != nil {
		mergeDictoRight(tags, sr.tags)
	}
	return sr
}
func (r *SimpleReporter) GetTags() map[string]string {
	return r.tags
}
func (r *SimpleReporter) IncCounter(name string, tags map[string]string, delta int64) {
}
func (r *SimpleReporter) UpdateGauge(name string, tags map[string]string, value int64) {
}
func newSimpleStopWatch(metricName string, reporter *SimpleReporter) *simpleStopWatch {
	watch := &simpleStopWatch{
		metricName: metricName,
		reporter:   reporter,
	}
	return watch
}
func (w *simpleStopWatch) Start() {
	w.startTime = time.Now()
}
func (w *simpleStopWatch) Stop() time.Duration {
	w.elasped = time.Since(w.startTime)
	return w.elasped
}