From 9dc2c4b7a1ab2199227f971b2d4c02a3253a991c Mon Sep 17 00:00:00 2001 From: Abhinav Dangeti Date: Wed, 31 Jan 2024 12:57:19 -0700 Subject: [PATCH] Record number of successful kNN Search operations --- index/scorch/optimize_knn.go | 3 +++ index/scorch/scorch.go | 2 ++ index/scorch/stats.go | 2 ++ 3 files changed, 7 insertions(+) diff --git a/index/scorch/optimize_knn.go b/index/scorch/optimize_knn.go index 0eac502bc..409b96ce2 100644 --- a/index/scorch/optimize_knn.go +++ b/index/scorch/optimize_knn.go @@ -20,6 +20,7 @@ package scorch import ( "fmt" "sync" + "sync/atomic" index "github.com/blevesearch/bleve_index_api" segment_api "github.com/blevesearch/scorch_segment_api/v2" @@ -75,6 +76,8 @@ func (o *OptimizeVR) Finish() error { return } + atomic.AddUint64(&o.snapshot.parent.stats.TotKNNSearches, uint64(1)) + // postings and iterators are already alloc'ed when // IndexSnapshotVectorReader is created vr.postings[index] = pl diff --git a/index/scorch/scorch.go b/index/scorch/scorch.go index f30d795e9..2779a0ea8 100644 --- a/index/scorch/scorch.go +++ b/index/scorch/scorch.go @@ -617,6 +617,8 @@ func (s *Scorch) StatsMap() map[string]interface{} { m["index_time"] = m["TotIndexTime"] m["term_searchers_started"] = m["TotTermSearchersStarted"] m["term_searchers_finished"] = m["TotTermSearchersFinished"] + m["knn_searches"] = m["TotKNNSearches"] + m["num_bytes_read_at_query_time"] = m["TotBytesReadAtQueryTime"] m["num_plain_text_bytes_indexed"] = m["TotIndexedPlainTextBytes"] m["num_bytes_written_at_index_time"] = m["TotBytesWrittenAtIndexTime"] diff --git a/index/scorch/stats.go b/index/scorch/stats.go index dc74d9f29..269ae2f63 100644 --- a/index/scorch/stats.go +++ b/index/scorch/stats.go @@ -51,6 +51,8 @@ type Stats struct { TotTermSearchersStarted uint64 TotTermSearchersFinished uint64 + TotKNNSearches uint64 + TotEventTriggerStarted uint64 TotEventTriggerCompleted uint64