Skip to content

Commit

Permalink
add term search stats
Browse files Browse the repository at this point in the history
  • Loading branch information
mschoch committed Mar 5, 2016
1 parent 147deba commit 81780f9
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 0 deletions.
3 changes: 3 additions & 0 deletions index/firestorm/reader_terms.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ package firestorm

import (
"bytes"
"sync/atomic"

"github.com/blevesearch/bleve/index"
"github.com/blevesearch/bleve/index/store"
Expand Down Expand Up @@ -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
}

Expand Down Expand Up @@ -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()
}
Expand Down
4 changes: 4 additions & 0 deletions index/firestorm/stats.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ type indexStat struct {
f *Firestorm
updates, deletes, batches, errors uint64
analysisTime, indexTime uint64
termSearchersStarted uint64
termSearchersFinished uint64
kvStats json.Marshaler
}

Expand All @@ -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
}
Expand Down
5 changes: 5 additions & 0 deletions index/upside_down/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
package upside_down

import (
"sync/atomic"

"github.com/blevesearch/bleve/index"
"github.com/blevesearch/bleve/index/store"
)
Expand All @@ -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,
Expand All @@ -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,
Expand Down Expand Up @@ -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()
}
4 changes: 4 additions & 0 deletions index/upside_down/stats.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import (
type indexStat struct {
updates, deletes, batches, errors uint64
analysisTime, indexTime uint64
termSearchersStarted uint64
termSearchersFinished uint64
kvStats json.Marshaler
}

Expand All @@ -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
}
Expand Down

0 comments on commit 81780f9

Please sign in to comment.