Remove defer statement in hot path

This commit is contained in:
Fabian Reinartz 2017-09-01 12:09:29 +02:00
parent 4cc37eecab
commit 4f037da462
1 changed files with 6 additions and 4 deletions

10
head.go
View File

@ -285,9 +285,9 @@ func (a *initAppender) Add(lset labels.Labels, t int64, v float64) (string, erro
if a.app != nil { if a.app != nil {
return a.app.Add(lset, t, v) return a.app.Add(lset, t, v)
} }
if a.head.initTime(t) { a.head.initTime(t)
a.app = a.head.appender() a.app = a.head.appender()
}
return a.app.Add(lset, t, v) return a.app.Add(lset, t, v)
} }
@ -1071,7 +1071,6 @@ func (s *memSeries) append(t int64, v float64) (success, chunkCreated bool) {
const samplesPerChunk = 120 const samplesPerChunk = 120
s.mtx.Lock() s.mtx.Lock()
defer s.mtx.Unlock()
var c *memChunk var c *memChunk
@ -1081,6 +1080,7 @@ func (s *memSeries) append(t int64, v float64) (success, chunkCreated bool) {
} }
c = s.head() c = s.head()
if c.maxTime >= t { if c.maxTime >= t {
s.mtx.Unlock()
return false, chunkCreated return false, chunkCreated
} }
if c.samples > samplesPerChunk/4 && t >= s.nextAt { if c.samples > samplesPerChunk/4 && t >= s.nextAt {
@ -1104,6 +1104,8 @@ func (s *memSeries) append(t int64, v float64) (success, chunkCreated bool) {
s.sampleBuf[2] = s.sampleBuf[3] s.sampleBuf[2] = s.sampleBuf[3]
s.sampleBuf[3] = sample{t: t, v: v} s.sampleBuf[3] = sample{t: t, v: v}
s.mtx.Unlock()
return true, chunkCreated return true, chunkCreated
} }