Skip to content

Commit 44b1b43

Browse files
committed
Fix search hit/miss metrics
1 parent 33a513d commit 44b1b43

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/server/http.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ static HttpResponse handleDeleteDocumentRequest(const HttpRequest &request, cons
189189
}
190190

191191
// Handle search requests.
192-
static HttpResponse handleSearchRequest(const HttpRequest &request, const QSharedPointer<Index> &indexes) {
192+
static HttpResponse handleSearchRequest(const HttpRequest &request, const QSharedPointer<Index> &indexes, const QSharedPointer<Metrics> &metrics) {
193193
auto index = getIndex(request, indexes);
194194

195195
auto query = parseTerms(request.param("query"));
@@ -208,6 +208,7 @@ static HttpResponse handleSearchRequest(const HttpRequest &request, const QShare
208208
reader->search(query.data(), query.size(), collector.data());
209209
}
210210
auto results = collector->topResults();
211+
metrics->onSearchRequest(results.size());
211212

212213
QJsonArray resultsJson;
213214
for (auto &result : results) {
@@ -314,7 +315,7 @@ HttpRequestHandler::HttpRequestHandler(QSharedPointer<Index> indexes, QSharedPoi
314315

315316
// Search API
316317
m_router.route(HTTP_GET, "/:index/_search", [=](auto req) {
317-
return handleSearchRequest(req, m_indexes);
318+
return handleSearchRequest(req, m_indexes, m_metrics);
318319
});
319320

320321
// Index API

src/server/session.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include "session.h"
55
#include "errors.h"
6+
#include "metrics.h"
67
#include "index/index.h"
78
#include "index/index_writer.h"
89
#include "index/top_hits_collector.h"
@@ -112,5 +113,7 @@ QList<Result> Session::search(const QVector<uint32_t> &hashes) {
112113
} catch (TimeoutExceeded) {
113114
throw HandlerException("timeout exceeded");
114115
}
115-
return collector.topResults();
116+
const auto results = collector.topResults();
117+
m_metrics->onSearchRequest(results.size());
118+
return results;
116119
}

0 commit comments

Comments
 (0)