Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions include/knowhere/prometheus_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,9 @@ extern const std::unique_ptr<PrometheusClient> prometheusClient;
#define DECLARE_PROMETHEUS_COUNTER(name_counter) extern prometheus::Counter& name_counter;
#define DECLARE_PROMETHEUS_HISTOGRAM(name_histogram) extern prometheus::Histogram& name_histogram;

DECLARE_PROMETHEUS_COUNTER(knowhere_build_count);
DECLARE_PROMETHEUS_COUNTER(knowhere_search_count);
DECLARE_PROMETHEUS_COUNTER(knowhere_ann_iterator_count);
DECLARE_PROMETHEUS_COUNTER(knowhere_range_search_count);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_build_latency);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_search_topk);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_load_latency);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_search_latency);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_ann_iterator_init_latency);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_range_search_latency);
DECLARE_PROMETHEUS_HISTOGRAM(knowhere_ann_iterator_init_latency);
} // namespace knowhere
29 changes: 22 additions & 7 deletions src/common/index.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ Index<T>::Build(const DataSet& dataset, const Json& json) {
auto span = rc.ElapseFromBegin("done");
span *= 0.000001; // convert to s
knowhere_build_latency.Observe(span);
knowhere_build_count.Increment();
#else
auto res = this->node->Build(dataset, *cfg);
#endif
Expand Down Expand Up @@ -88,8 +87,6 @@ Index<T>::Search(const DataSet& dataset, const Json& json, const BitsetView& bit
auto span = rc.ElapseFromBegin("done");
span *= 0.001; // convert to ms
knowhere_search_latency.Observe(span);
knowhere_search_count.Increment();
knowhere_search_topk.Observe(cfg->k.value());
#else
auto res = this->node->Search(dataset, *cfg, bitset);
#endif
Expand Down Expand Up @@ -117,7 +114,6 @@ Index<T>::AnnIterator(const DataSet& dataset, const Json& json, const BitsetView
auto span = rc.ElapseFromBegin("done");
span *= 0.001; // convert to ms
knowhere_search_latency.Observe(span);
knowhere_ann_iterator_count.Increment();
#else
auto res = this->node->AnnIterator(dataset, *cfg, bitset);
#endif
Expand All @@ -144,7 +140,6 @@ Index<T>::RangeSearch(const DataSet& dataset, const Json& json, const BitsetView
auto span = rc.ElapseFromBegin("done");
span *= 0.001; // convert to ms
knowhere_range_search_latency.Observe(span);
knowhere_range_search_count.Increment();
#else
auto res = this->node->RangeSearch(dataset, *cfg, bitset);
#endif
Expand Down Expand Up @@ -197,7 +192,17 @@ Index<T>::Deserialize(const BinarySet& binset, const Json& json) {
if (res != Status::success) {
return res;
}
return this->node->Deserialize(binset, *cfg);

#ifdef NOT_COMPILE_FOR_SWIG
TimeRecorder rc("Load index", 2);
res = this->node->Deserialize(binset, *cfg);
auto span = rc.ElapseFromBegin("done");
span *= 0.001; // convert to ms
knowhere_load_latency.Observe(span);
#else
res = this->node->Deserialize(binset, *cfg);
#endif
return res;
}

template <typename T>
Expand All @@ -216,7 +221,17 @@ Index<T>::DeserializeFromFile(const std::string& filename, const Json& json) {
if (res != Status::success) {
return res;
}
return this->node->DeserializeFromFile(filename, *cfg);

#ifdef NOT_COMPILE_FOR_SWIG
TimeRecorder rc("Load index from file", 2);
res = this->node->DeserializeFromFile(filename, *cfg);
auto span = rc.ElapseFromBegin("done");
span *= 0.001; // convert to ms
knowhere_load_latency.Observe(span);
#else
res = this->node->DeserializeFromFile(filename, *cfg);
#endif
return res;
}

template <typename T>
Expand Down
8 changes: 2 additions & 6 deletions src/common/prometheus_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,10 @@ const std::unique_ptr<PrometheusClient> prometheusClient = std::make_unique<Prom
* An error has occurred while serving metrics:
* text format parsing error in line 50: expected float as value, got "=\"0.9\"}"
******************************************************************************/
DEFINE_PROMETHEUS_COUNTER(knowhere_build_count, "knowhere index build count")
DEFINE_PROMETHEUS_COUNTER(knowhere_search_count, "knowhere search count")
DEFINE_PROMETHEUS_COUNTER(knowhere_ann_iterator_count, "knowhere ann iterator count")
DEFINE_PROMETHEUS_COUNTER(knowhere_range_search_count, "knowhere range search count")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_build_latency, "index build latency in knowhere (s)")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_search_topk, "knowhere search topk")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_load_latency, "index load latency in knowhere (ms)")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_search_latency, "search latency in knowhere (ms)")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_ann_iterator_init_latency, "ann iterator init latency in knowhere (ms)")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_range_search_latency, "range search latency in knowhere (ms)")
DEFINE_PROMETHEUS_HISTOGRAM(knowhere_ann_iterator_init_latency, "ann iterator init latency in knowhere (ms)")

} // namespace knowhere