add term search stats
This commit is contained in:
parent
147debaa12
commit
81780f97d0
|
@ -11,6 +11,7 @@ package firestorm
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/blevesearch/bleve/index"
|
||||
"github.com/blevesearch/bleve/index/store"
|
||||
|
@ -55,6 +56,7 @@ func newFirestormTermFieldReader(r *firestormReader, field uint16, term []byte)
|
|||
rv.count = dictionaryRow.Count()
|
||||
}
|
||||
|
||||
atomic.AddUint64(&r.f.stats.termSearchersStarted, uint64(1))
|
||||
return &rv, nil
|
||||
}
|
||||
|
||||
|
@ -135,6 +137,7 @@ func (r *firestormTermFieldReader) Count() uint64 {
|
|||
}
|
||||
|
||||
func (r *firestormTermFieldReader) Close() error {
|
||||
atomic.AddUint64(&r.r.f.stats.termSearchersFinished, uint64(1))
|
||||
if r.i != nil {
|
||||
return r.i.Close()
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@ type indexStat struct {
|
|||
f *Firestorm
|
||||
updates, deletes, batches, errors uint64
|
||||
analysisTime, indexTime uint64
|
||||
termSearchersStarted uint64
|
||||
termSearchersFinished uint64
|
||||
kvStats json.Marshaler
|
||||
}
|
||||
|
||||
|
@ -30,6 +32,8 @@ func (i *indexStat) MarshalJSON() ([]byte, error) {
|
|||
m["analysis_time"] = atomic.LoadUint64(&i.analysisTime)
|
||||
m["index_time"] = atomic.LoadUint64(&i.indexTime)
|
||||
m["lookup_queue_len"] = len(i.f.lookuper.workChan)
|
||||
m["term_searchers_started"] = atomic.LoadUint64(&i.termSearchersStarted)
|
||||
m["term_searchers_finished"] = atomic.LoadUint64(&i.termSearchersFinished)
|
||||
if i.kvStats != nil {
|
||||
m["kv"] = i.kvStats
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
package upside_down
|
||||
|
||||
import (
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/blevesearch/bleve/index"
|
||||
"github.com/blevesearch/bleve/index/store"
|
||||
)
|
||||
|
@ -29,6 +31,7 @@ func newUpsideDownCouchTermFieldReader(indexReader *IndexReader, term []byte, fi
|
|||
return nil, err
|
||||
}
|
||||
if val == nil {
|
||||
atomic.AddUint64(&indexReader.index.stats.termSearchersStarted, uint64(1))
|
||||
return &UpsideDownCouchTermFieldReader{
|
||||
count: 0,
|
||||
term: term,
|
||||
|
@ -44,6 +47,7 @@ func newUpsideDownCouchTermFieldReader(indexReader *IndexReader, term []byte, fi
|
|||
tfr := NewTermFrequencyRow(term, field, []byte{}, 0, 0)
|
||||
it := indexReader.kvreader.PrefixIterator(tfr.Key())
|
||||
|
||||
atomic.AddUint64(&indexReader.index.stats.termSearchersStarted, uint64(1))
|
||||
return &UpsideDownCouchTermFieldReader{
|
||||
indexReader: indexReader,
|
||||
iterator: it,
|
||||
|
@ -163,5 +167,6 @@ func (r *UpsideDownCouchDocIDReader) Advance(docID string) (string, error) {
|
|||
}
|
||||
|
||||
func (r *UpsideDownCouchDocIDReader) Close() error {
|
||||
atomic.AddUint64(&r.indexReader.index.stats.termSearchersFinished, uint64(1))
|
||||
return r.iterator.Close()
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ import (
|
|||
type indexStat struct {
|
||||
updates, deletes, batches, errors uint64
|
||||
analysisTime, indexTime uint64
|
||||
termSearchersStarted uint64
|
||||
termSearchersFinished uint64
|
||||
kvStats json.Marshaler
|
||||
}
|
||||
|
||||
|
@ -28,6 +30,8 @@ func (i *indexStat) MarshalJSON() ([]byte, error) {
|
|||
m["errors"] = atomic.LoadUint64(&i.errors)
|
||||
m["analysis_time"] = atomic.LoadUint64(&i.analysisTime)
|
||||
m["index_time"] = atomic.LoadUint64(&i.indexTime)
|
||||
m["term_searchers_started"] = atomic.LoadUint64(&i.termSearchersStarted)
|
||||
m["term_searchers_finished"] = atomic.LoadUint64(&i.termSearchersFinished)
|
||||
if i.kvStats != nil {
|
||||
m["kv"] = i.kvStats
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue