func (m *CirconusMetrics) FlushMetrics() *Metrics {
	m.flushmu.Lock()
	if m.flushing {
		m.flushmu.Unlock()
		return &Metrics{}
	}

	m.flushing = true
	m.flushmu.Unlock()

	_, output := m.packageMetrics()

	m.flushmu.Lock()
	m.flushing = false
	m.flushmu.Unlock()

	return &output
}
func (m *CirconusMetrics) FlushMetrics() *Metrics {
	m.flushmu.Lock()
	if m.flushing {
		m.flushmu.Unlock()
		return &Metrics{}
	}

	m.flushing = true
	m.flushmu.Unlock()

	_, output := m.packageMetrics()

	m.flushmu.Lock()
	m.flushing = false
	m.flushmu.Unlock()

	return &output
}
func ( m * CirconusMetrics ) FlushMetrics ( ) * Metrics { m . flushmu . Lock ( ) if m . flushing { m . flushmu . Unlock ( ) return & Metrics { } } m . flushing = true m . flushmu . Unlock ( ) _ , output := m . packageMetrics ( ) m . flushmu . Lock ( ) m . flushing = false m . flushmu . Unlock ( ) return & output }
// FlushMetrics flushes current metrics to a structure and returns it (does NOT send to Circonus)
FlushMetrics flushes current metrics to a structure and returns it ( does NOT send to Circonus )