timer.go
func (t *Timer) Get(name string) *Counter {
	if c, exist := t.routes[name]; exist {
		return c
	}
	t.mux.Lock()
	defer t.mux.Unlock()
	// could be a race so check again
	// could loose som small data but good not to
	if c, exist := t.routes[name]; exist {
		return c
	}
	t.routes[name] = &Counter{}
	t.routes[name].Min = 1<<63 - 1
	return t.routes[name]
}
func (t *Timer) Get(name string) *Counter {
	if c, exist := t.routes[name]; exist {
		return c
	}
	t.mux.Lock()
	defer t.mux.Unlock()
	// could be a race so check again
	// could loose som small data but good not to
	if c, exist := t.routes[name]; exist {
		return c
	}
	t.routes[name] = &Counter{}
	t.routes[name].Min = 1<<63 - 1
	return t.routes[name]
}
// Get returns a Counter for a route.
// If there is no entry it will create a new one.
// It will lock during creation